|
Próxima revisão
|
Revisão anterior
|
wiki:configurar-smtp-phpmailer [2021/07/12 10:23] admin criada |
wiki:configurar-smtp-phpmailer [2021/07/12 10:32] (atual) admin |
| |
| 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]]. | 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. |
| | |
| | {{ :wiki:phpmailer-1.png?600 |}} |
| | |
| | === 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 |
| | |
| | <code> |
| | <?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; |
| | } |
| | </code> |
| | |
| | ===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: {{ :wiki:form.zip |Baixar aquivo form.php}}. |
| | |
| | **Linha 20 – method=”POST” action=”envia.php”:** Você deve especificar corretamente o nome do arquivo criado no passo anterior. |
| | |
| | {{ :wiki:phpmailer-2.png?600 |}} |
| | |
| | <code> |
| | <!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> |
| | </code> |
| | Pronto! Agora você conseguirá enviar emails pelo formulário de contato do seu site de forma autenticada. |
| | |
| | |