Como faço para configurar um formulário de contato com envio de e-mail por smtp?

Sugerimos que o envio de e-mails de qualquer formulário de contato seja sempre feito através do servidor smtp com autenticação.

Desta forma o envio de spam é inibido e sua mensagem tem menor chance de ser classificada como spam pelo destinatário.

O código completo para envio via smtp está disponível através do script PHPMailer, para instalar siga o procedimento abaixo:

  1. Acesse: PHPMailer/PHPMailer
  2. Do lado inferior direito clique no botão “Download ZIP”
  3. Extraia os arquivos no mesmo diretório onde será colocado o arquivo criado no passo seguinte
  4. Crie um arquivo com a extensão “.php” (exemplo: formulario.php) com o código abaixo


Exemplo de código:

/*apenas dispara o envio da mensagem caso houver/existir $_POST['enviar']*/
if (isset($_POST['enviar']))
{
/* 
/* $destinatarios = 'email-para-receber-formulario@seu-dominio';

/* $nomeDestinatario = 'Nome do destinatário';

/* $usuario = 'usuario@seu-dominio';

/* $senha = 'senha';


/*abaixo as veriaveis principais, que devem conter em seu formulario*/
$nomeRemetente = $_POST['nomeRemetente'];
$assunto = $_POST['assunto'];
$_POST['mensagem'] = nl2br('E-mail: '. $_POST['email'] ."

". $_POST['mensagem']);


/*********************************** A PARTIR DAQUI NAO ALTERAR ************************************/

include_once("class.phpmailer.php");

$To = $destinatarios;
$Subject = $assunto;
$Message = $_POST['mensagem'];

$Host = 'www.'.substr(strstr($usuario, '@'), 1);
$Username = $usuario;
$Password = $senha;
$Port = "587";

$mail = new PHPMailer();
$body = $Message;
$mail->IsSMTP(); // telling the class to use SMTP
$mail->Host = $Host; // SMTP server
$mail->SMTPDebug = 0; // enables SMTP debug information (for testing)
// 1 = errors and messages
// 2 = messages only
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->Port = $Port; // set the SMTP port for the service server
$mail->Username = $Username; // account username
$mail->Password = $Password; // account password

$mail->SetFrom($usuario, $nomeDestinatario);
$mail->Subject = $Subject;
$mail->MsgHTML($body);
$mail->AddAddress($To, "");

if(!$mail->Send()) {
$mensagemRetorno = 'Erro ao enviar e-mail: '. print($mail->ErrorInfo);
} else {
$mensagemRetorno = 'E-mail enviado com sucesso!';
}
}
?>

 

 

 

  • configuração, formulário, envio, e-mail, smtp
  • 1 Usuários acharam útil
Esta resposta lhe foi útil?

Artigos Relacionados

Como faço para configurar o ThunderBird 2.0?

Siga as instruções abaixo para configurar o ThunderBird 2.0. 1. Com o ThunderBird aberto, clique...

Como faço para configurar meu e-mail no iPhone, iPad e iPod no cPanel?

Descubra o passo a passo para configurar seu e-mail no painel de controle do cPanel para iPhone,...

O que significa a mensagem de erro "Mailbox quota exceeded"?

A mensagem de erro "Mailbox quota exceeded" significa que a caixa de e-mail para onde a mensagem...

O que é registro SPF?

A sigla SPF que significa Sender Policy Framework especifica que máquinas estão autorizadas a...

Como evitar fraudes na minha conta de e-mail?

Descubra o que pode ser feito para você evitar fraudes na sua conta de e-mail. Ao fazer o login...

SiteLock