Como mandar um e-mail utilizando servidor de SMTP com autenticação pelo PHP.
Para enviar e-mails pelo PHP iremos utilizar das classes prontas que irão encurtar o nosso trabalho.
Clique nos link abaixo para baixar:
Descompacte o arquivo e cole as duas classes no diretório aonde está o arquivo PHP que irá enviar os e-mails.
Crie um arquivo PHP de teste no mesmo diretório aonde está as duas classes.
Logo no inicio do arquivo vamos utilizar a função “require_once” para incluirmos a classe “class.phpmailer.php”.
require_once("class.phpmailer.php");
Agora vamos configurar a nossa classe PHPMailer para utilização.
Primeiro você deve substituir os valores de teste nas variáveis abaixo com os dados reais do servidor SMTP que será utilizado.
$servidor_smtp = "smtp.teste.com.br"; $porta = "587"; $usuario = "teste@teste.com.br"; $senha = "123456";
Observação: Por padrão, normalmente a porta utilizada nos servidores de SMTP é a “587”
Agora vamos instanciar a classe PHPMailer.
$mail = new PHPMailer(); $mail->IsSMTP(); $mail->SMTPDebug = 1; $mail->SMTPAuth = true; $mail->SMTPSecure = 'tls'; $mail->Host = $servidor_smtp; $mail->Port = $porta; $mail->Username = $usuario; $mail->Password = $senha;
No código acima, além de passar os dados do SMTP utilizo as seguintes configurações
Ativo o SMTP no objeto
$mail->IsSMTP();
Modo “debug”, informe 1 para erros e mensagens ou número 2 para apenas mensagens
$mail->SMTPDebug = 1;
Informe que a autenticação será necessária no servidor de SMTP.
$mail->SMTPAuth = true;
Modo de segurança que será utilizado, podendo ser “tls” ou “ssl”.
$mail->SMTPSecure = "tls";
Substituí os valores da variáveis abaixo com os dados que você deseja enviar.
$de = "remetente@teste.com.br"; $de_nome = "nome remetente"; $assunto = "assunto de teste"; $corpo = "email de teste"; $para = "destinatario@teste.com.br"; $mail->SetFrom($de, $de_nome); $mail->Subject = $assunto; $mail->Body = $corpo; $mail->AddAddress($para);
Observações: Em alguns servidores de SMTP, por questões de segurança e anti-spam, o usuário utilizado na autenticação (email) deverá ser o mesmo utilizado no “de” da função “SetFrom()”.
Utilize o código abaixo para enviar o e-mail
if($mail->Send()) { // enviado } else { // ocorreu um erro }
Você pode adicionar as validações no código acima.
Observação: no modo “debug” com o valor “2” as mensagens de erro serão incluídas diretamente no arquivo.
Caso os e-mails não estejam sendo enviados e nenhuma mensagem de erro está sendo exibida leve em consideração os seguintes pontos:
/* Configurações */$servidor_smtp = "smtp.teste.com.br"; $porta = "587"; $usuario = "teste@teste.com.br"; $senha = "123456"; $mail = new PHPMailer(); $mail->IsSMTP(); $mail->SMTPDebug = 1; $mail->SMTPAuth = true; $mail->SMTPSecure = 'tls'; $mail->Host = $servidor_smtp; $mail->Port = $porta; $mail->Username = $usuario; $mail->Password = $senha; /* Conteúdo e destinatario */$de = "remetente@teste.com.br"; $de_nome = "nome remetente"; $assunto = "assunto de teste"; $corpo = "email de teste"; $para = "destinatario@teste.com.br"; $mail->SetFrom($de, $de_nome); $mail->Subject = $assunto; $mail->Body = $corpo; $mail->AddAddress($para); if($mail->Send()) { // email foi enviado } else { // ocorreu um erro }
Segurança: Atualizações frequentes geralmente incluem patches de segurança para corrigir vulnerabilidades identificadas. Ao manter o Magento atualizado, você reduz significativamente…
Como adicionar uma mensagem de Alerta ou Aviso do Admin do Magento 2 Injete o Magento\Framework\Message\ManagerInterface no construtor da sua…
Para exibir as mensagens adicionadas na classe Magento\Framework\Message\ManagerInterface em um arquivo .phtml, você pode usar o seguinte código: <?php $objectManager…
Para criar um script no Magento 2 que exporte as categorias para um arquivo XML com o nome da categoria,…
Para definir um vídeo MP4 como plano de fundo em um <div> usando HTML e CSS, você pode seguir estas…
Como desativar o "lastname" no Magento 2 e Adobe Commerce Desativando a obrigatoriedade do campo Execute a SQL abaixo diretamente…