Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
E aí galera!!Tranquilo?A questão e a seguinte eu fiz um exemplozinho simples de envio de formulário para o email usando a biblioteca do phpmailer. Tá tudo funcionando no envio do email só tenho um problema a mensagem de erro que aparece no topo da página sendo que eu coloquei uma div pra mostrar a mensagem seria a mensagem que vem do proprio phpmalier do método Send(); ás mensagens que eu coloco vão pra div corretamente só não essa mensagem que vem do método Send(); lembrando que eu coloquei um bloco try e catch, mais mesmo sem ele acontece a mesma coisa. A mensagem que aparece no topo da página e essa: SMTP Error: Could not connect to SMTP host aí eu queria saber como eu faço pra essa mensagem aparecer na div?
Desde de já eu agradeço pela atenção!
Segue o código:
<?php
require_once("phpmailer/class.phpmailer.php");
require_once("form_validation_PHP/validation_class.php");
if(isset($_POST['enviar']))
{
$example = new Validate_fields;
$example->add_text_field("Mensagem", $_POST['mensagem'], "text", "y");
$example->add_link_field("Email", $_POST['email'], "email");
$example->add_text_field("Nome", $_POST['nome'], "text", "y");
if ($example->validation()) {
$nome=$_POST['nome'];
$email=$_POST['email'];
$mensagem=$_POST['mensagem'];
try{
$phpmail = new PHPMailer();
// Define o método de envio
$phpmail->Mailer = "smtp";
// Define que a mensagem poderá ter formatação HTML
$phpmail->IsHTML(true);
//Define que a codificação do conteúdo da mensagem será utf-8
$phpmail->CharSet = "utf-8";
// Define que os emails enviadas utilizarão SMTP Seguro tls
$phpmail->SMTPSecure = "tls";
// Define que o Host que enviará a mensagem é o Gmail
$phpmail->Host = "smtp.gmail.com";
//Define a porta utilizada pelo Gmail para o envio autenticado
$phpmail->Port = "587";
// Deine que a mensagem utiliza método de envio autenticado
$phpmail->SMTPAuth = "true";
// Define o usuário do gmail autenticado responsável pelo envio
$phpmail->Username = "goncalves";
// Define a senha deste usuário citado acima
$phpmail->Password = "********";
// Defina o email e o nome que aparecerá como remetente no cabeçalho
$phpmail->From = "goncalves@gmail.com";
$phpmail->FromName = "goncalves";
$phpmail->From = "goncalves@gmail.com";
$phpmail->FromName = $nome;
$phpmail->AddAddress($email);
$phpmail->Subject = "Sobre PHP";
$phpmail->Body .= "<br>E-mail: ".$email."";
$phpmail->Body .= "<br>Assunto: Sobre o PHP";
$phpmail->Body .= "<br><br>Mensagem: ".$mensagem."";
$send = $phpmail->Send();
if($send){
$status= "<p style=color:#000000>A sua mensagem foi enviada com sucesso!</p>";
}else{
$status1= "<p style=color:#FF0000>Por favor verique a sua conexão com a internet e tente enviar a mensagem novamente.<br/></p>";
}
}catch (Exception $e){
echo ($e->getMessage());
}
}else{
$error = $example->create_msg();
}
}
?><html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<style type="text/css">#Layer1 {
position:absolute;
width:677px;
height:47px;
z-index:1;
}</style>
</head>
<body>
<form name="form1" action="<?php echo $_SERVER['PHP_SELF']?>" method="post">
<legend></legend>
<legend></legend>
<legend></legend>
<legend></legend>
<legend>Formulário de Contato</legend>
<div id="Layer1">
<p style="color:#000000;"><?php echo (isset($status)) ? $status : " " ?></p>
<p style="color:#FF0000;"><?php echo (isset($status1)) ? $status1 : " " ?></p>
</div>
<p> </p>
<pre>
<label for="nome">Nome</label>
<input name="nome" size="40" type="text" />
<label for="email">E-mail:</label>
<input name="email" size="40" type="text" />
<label for="mensagem">Mensagem</label>
<textarea cols="40" rows="4" name="mensagem"></textarea>
<input type="submit" name="enviar" value="Enviar" />
</pre>
</form>
</body>
</html>Carregando comentários...