Suporte e FAQ

Como configurar o SMTP autenticado para envio de formulários pelo site através do PHPMAILER

Porque devo utilizar um formulário em PHPMailer?

Um formulário de contato em seu site facilita a comunicação de seus clientes e pessoas que têm interesse em seu negócio.

No caso do PHPMailer, o envio é feito de forma autenticada. Isto é, você utilizar o servidor SMTP do seu domínio para enviar as mensagens. De um modo não autenticado você normalmente faz o envio através do próprio servidor web. Você pode conferir a documentação completa no endereço https://github.com/PHPMailer/PHPMailer.

E COMO UTILIZAR ESSA CLASSE DE ENVIO?

Para conseguir enviar emails pelo seu site via autenticação SMTP será necessário fazer uso da classe. Portanto, faça o download da versão mais recente pelo link informado acima.

Depois de ter baixado, insira os arquivos PHPMailerAutoload.php, class.phpmailer.php e class.smtp.php em alguma pasta do seu FTP.

Neste exemplo vamos utilizar uma pasta chamada autenvio.

 

CONFIGURANDO OS DADOS DE AUTENTICAÇÃO SMTP

Crie um novo arquivo no mesmo nível do diretório onde colocou os arquivos da classe. O nome do arquivo fica a sua escolha, neste exemplo será utilizado o enviar.php.

O arquivo deve conter o código abaixo e você deve fazer as devidas alterações para que o mesmo funcione:

Linha 3 – require_once(“autenvio/PHPMailerAutoload.php”): Defina o caminho correto do arquivo class.phpmailer.php
Linha 9 – $mail->Host = “smtp.seudominio.com.br”: Defina corretamente o seu host de envio SMTP
Linha 14 – $mail->Username = ‘conta-de-email@seudominio.com.br’: Conta que fará o envio das mensagens (deve ser uma conta existente e ativa no seu domínio)
Linha 15 – $mail->Password = ‘senha’: Defina a senha da sua conta de email que fará o envio da mensagem
Linha 18 – $mail->Sender = “conta-de-email@seudominio.com.br”: Conta que fará o envio das mensagens (deve ser uma conta existente e ativa no seu domínio)
Linha 23 – $mail->AddAddress(‘recebe1@dominio.com.br’): Defina a conta que receberá as mensagens

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?php
// Adiciona o arquivo class.phpmailer.php - você deve especificar corretamente o caminho da pasta com o este arquivo.
require_once("autenvio/PHPMailerAutoload.php");
// Inicia a classe PHPMailer
$mail=newPHPMailer();
 
// DEFINIÇÃO DOS DADOS DE AUTENTICAÇÃO - Você deve auterar conforme o seu domínio!
$mail->IsSMTP();// Define que a mensagem será SMTP
$mail->Host="smtp.seudominio.com.br";// Seu endereço de host SMTP
$mail->SMTPAuth=true;// Define que será utilizada a autenticação -  Mantenha o valor "true"
$mail->Port=587;// Porta de comunicação SMTP - Mantenha o valor "587"
$mail->SMTPSecure=false;// Define se é utilizado SSL/TLS - Mantenha o valor "false"
$mail->SMTPAutoTLS=false;// Define se, por padrão, será utilizado TLS - Mantenha o valor "false"
$mail->Username='conta-de-email@seudominio.com.br';// Conta de email existente e ativa em seu domínio
$mail->Password='********';// Senha da sua conta de email
 
// DADOS DO REMETENTE
$mail->Sender="conta-de-email@seudominio.com.br";// Conta de email existente e ativa em seu domínio
$mail->From="conta-de-email@seudominio.com.br";// Sua conta de email que será remetente da mensagem
$mail->FromName="Form do site";// Nome da conta de email
 
// DADOS DO DESTINATÁRIO
$mail->AddAddress('recebe1@dominio.com.br','Nome - Recebe1');// Define qual conta de email receberá a mensagem
//$mail->AddAddress('recebe2@dominio.com.br'); // Define qual conta de email receberá a mensagem
//$mail->AddCC('copia@dominio.net'); // Define qual conta de email receberá uma cópia
//$mail->AddBCC('copiaoculta@dominio.info'); // Define qual conta de email receberá uma cópia oculta
 
// Definição de HTML/codificação
$mail->IsHTML(true);// Define que o e-mail será enviado como HTML
$mail->CharSet='utf-8';// Charset da mensagem (opcional)
 
// DEFINIÇÃO DA MENSAGEM
$mail->Subject  ="Formulário de Contato";// Assunto da mensagem
$mail->Body.=" Nome: ".$_POST['nome']."<br>";// Texto da mensagem
$mail->Body.=" E-mail: ".$_POST['email']."<br>";// Texto da mensagem
$mail->Body.=" Assunto: ".$_POST['assunto']."<br>";// Texto da mensagem
$mail->Body.=" Mensagem: ".nl2br($_POST['mensagem'])."<br>";// Texto da mensagem
 
// ENVIO DO EMAIL
$enviado=$mail->Send();
// Limpa os destinatários e os anexos
$mail->ClearAllRecipients();
 
// Exibe uma mensagem de resultado do envio (sucesso/erro)
if($enviado){
  echo"E-mail enviado com sucesso!";
}else{
  echo"Não foi possível enviar o e-mail.";
  echo"<b>Detalhes do erro:</b> ".$mail->ErrorInfo;
}
 
 

TUDO CERTO ATÉ AQUI! COMO COLOCO O FORMULÁRIO NO SITE?

Crie um novo arquivo e o insira dentro do mesmo diretório onde colocou o arquivo acima o seguinte conteúdo – ou, se preferir, faço o download aqui: Baixar aquivo form.php.

Linha 20 – method=”POST” action=”envia.php”: Você deve especificar corretamente o nome do arquivo criado no passo anterior.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<!DOCTYPE html>
<html lang="pt-br">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible"content="IE=edge">
    <meta name="viewport"content="width=device-width, initial-scale=1">
    <title>Formulário PHPMailer</title>
 
<!--Layout-->
<link rel="stylesheet"href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
 
<!--JavaScript-->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
  </head>
 
  <body>
<div class="container">
<br>
  
<form class="form-horizontal"method="POST"action="envia.php"id="contato"enctype="multipart/form-data">
  <fieldset>
 
<!--Título doformulário-->
<legend>Formulário PHP-PHPMailer</legend>
 
<!--Campo:Nome-->
<div class="form-group">
  <label class="col-md-4 control-label"for="nome">Nome</label>  
<div class="col-md-4">
  <input id="nome"name="nome"placeholder="Informe seu nome"class="form-control input-md"required=""type="text">
</div>
</div>
 
<!--Campo:Email-->
<div class="form-group">
  <label class="col-md-4 control-label"for="nome">Email</label>  
<div class="col-md-4">
  <input id="email"name="email"placeholder="Informe seu email"class="form-control input-md"required=""type="text">
</div>
</div>
 
<!--Campo:Assunto-->
<div class="form-group">
  <label class="col-md-4 control-label"for="nome">Assunto</label>  
<div class="col-md-4">
  <input id="assunto"name="assunto"placeholder="Informe o assunto da mensagem"class="form-control input-md"required=""type="text">
</div>
</div>
 
<!--Campo:Mensagem-->
<div class="form-group">
  <label class="col-md-4 control-label"for="mensagem">Mensagem</label>
<div class="col-md-4">                    
  <textarea class="form-control"id="mensagem"name="mensagem"></textarea>
</div>
</div>
 
<!--BotãoEnviar-->
<center>
<div class="form-group">
  <label class="col-md-4 control-label"for="submit"></label>
<div class="col-md-4">
  <button type="submit"class="btn btn-inverse">Enviar</button>
</div>
</div>
 
  </fieldset>
</form>
 
</div>
  </body>
</html>

Pronto! Agora você conseguirá enviar emails pelo formulário de contato do seu site de forma autenticada.