{"id":52854,"date":"2026-01-28T16:10:05","date_gmt":"2026-01-28T19:10:05","guid":{"rendered":"\/br\/tutoriais\/?p=52854"},"modified":"2026-01-28T16:10:07","modified_gmt":"2026-01-28T19:10:07","slug":"como-usar-phpmailer","status":"publish","type":"post","link":"\/br\/tutoriais\/como-usar-phpmailer","title":{"rendered":"Como usar PHPMailer para enviar e-mails pelo seu servidor web"},"content":{"rendered":"<p>A comunica&ccedil;&atilde;o por e-mail &eacute; essencial para qualquer site. Ela est&aacute; por tr&aacute;s de tarefas como redefini&ccedil;&atilde;o de senha, envio de formul&aacute;rios e atendimento ao cliente. Nesse sentido, a fun&ccedil;&atilde;o <strong>mail() <\/strong>do PHP at&eacute; consegue enviar mensagens simples, mas muitas vezes falha na entrega (principalmente na caixa de entrada) e n&atilde;o oferece recursos que empresas costumam precisar.<\/p><p>O <strong>PHPMailer<\/strong> resolve essas limita&ccedil;&otilde;es ao permitir envio com SMTP autenticado, criptografia segura, formata&ccedil;&atilde;o em HTML e suporte a anexos. Assim, seus e-mails ficam mais profissionais e t&ecirc;m muito mais chance de chegar ao destino.<\/p><p>Para aproveitar tudo o que a biblioteca oferece, vale entender como usar PHPMailer para:<\/p><ul class=\"wp-block-list\">\n<li>Instalar a biblioteca com Composer ou manualmente<\/li>\n\n\n\n<li>Configurar SMTP para garantir entregabilidade<\/li>\n\n\n\n<li>Usar fun&ccedil;&otilde;es principais do PHPMailer, como <strong>setFrom()<\/strong>, <strong>addAddress()<\/strong> e <strong>Body<\/strong><\/li>\n\n\n\n<li>Criar um formul&aacute;rio de contato funcional com valida&ccedil;&atilde;o<\/li>\n\n\n\n<li>Conectar o PHPMailer ao Gmail e outros provedores<\/li>\n\n\n\n<li>Resolver erros comuns, como falhas de conex&atilde;o SMTP e problemas de autentica&ccedil;&atilde;o via DNS<\/li>\n<\/ul><p>\n\n\n\n\n\n\n<\/p><h2 class=\"wp-block-heading\" id=\"h-what-is-phpmailer\">O que &eacute; PHPMailer?<\/h2><p>PHPMailer &eacute; uma biblioteca <a href=\"\/br\/tutoriais\/o-que-e-php-guia-basico\">PHP<\/a> que oferece uma maneira simples de enviar e-mails diretamente do <a href=\"\/br\/tutoriais\/web-server\">seu servidor web<\/a> . Ao contr&aacute;rio da fun&ccedil;&atilde;o b&aacute;sica mail() do PHP, ela suporta recursos avan&ccedil;ados como:<\/p><ul class=\"wp-block-list\">\n<li>Autentica&ccedil;&atilde;o SMTP e criptografia (<a href=\"\/br\/tutoriais\/o-que-e-ssl\">SSL<\/a> \/ TLS)<\/li>\n\n\n\n<li>Mensagens HTML e alternativas em texto simples<\/li>\n\n\n\n<li>Anexos de arquivos e imagens embutidas<\/li>\n\n\n\n<li>Cabe&ccedil;alhos personalizados e endere&ccedil;os de resposta<\/li>\n<\/ul><p>Essas funcionalidades fazem do PHPMailer a escolha preferida dos desenvolvedores que precisam de um gerenciamento de e-mails seguro e profissional em seus aplicativos.<\/p><h3 class=\"wp-block-heading\" id=\"h-is-phpmailer-better-than-the-mail-function\">O PHPMailer &eacute; melhor que a fun&ccedil;&atilde;o mail()?<\/h3><p>Sim, o PHPMailer &eacute; melhor que a fun&ccedil;&atilde;o mail() na maioria dos casos de uso. Veja s&oacute; o porqu&ecirc;:<\/p><ul class=\"wp-block-list\">\n<li><strong>Estabilidade<\/strong>. Funciona com SMTP, reduzindo a probabilidade de os e-mails ca&iacute;rem na pasta de spam.<\/li>\n\n\n\n<li><strong>Seguran&ccedil;a<\/strong>. Suporta m&eacute;todos de autentica&ccedil;&atilde;o modernos, como TLS.<\/li>\n\n\n\n<li><strong>Flexibilidade<\/strong> . Permite anexos, formata&ccedil;&atilde;o HTML e cabe&ccedil;alhos avan&ccedil;ados.<\/li>\n\n\n\n<li><strong>Compatibilidade<\/strong>. Amplamente suportado e atualizado com <a href=\"\/br\/tutoriais\/atualizar-php-hostinger\">as novas vers&otilde;es do PHP<\/a> .<\/li>\n<\/ul><p>Se voc&ecirc; estiver criando algo al&eacute;m de um script simples, o PHPMailer oferece muito mais controle e consist&ecirc;ncia do que a fun&ccedil;&atilde;o mail().<\/p><h2 class=\"wp-block-heading\" id=\"h-como-usar-o-phpmailer-para-enviar-e-mails\">Como usar o PHPMailer para enviar e-mails<\/h2><p>Siga estes passos gerais para enviar emails com o PHPMailer:<\/p><ol class=\"wp-block-list\">\n<li><strong>Baixe e instale o PHPMailer<\/strong> usando <a href=\"\/br\/tutoriais\/como-instalar-e-usar-o-composer\">o Composer<\/a> ou o GitHub.<\/li>\n\n\n\n<li><strong>Carregue a biblioteca<\/strong> em seu script PHP com um autoloader ou manualmente.<\/li>\n\n\n\n<li><strong>Crie uma nova inst&acirc;ncia do PHPMailer.<\/strong><\/li>\n\n\n\n<li><strong>Configure as defini&ccedil;&otilde;es de SMTP<\/strong> (servidor, porta, nome de utilizador, palavra-passe).<\/li>\n\n\n\n<li><strong>Configure os detalhes do e-mail,<\/strong> como remetente, destinat&aacute;rio, assunto e corpo da mensagem.<\/li>\n\n\n\n<li><strong>Envie o e-mail<\/strong> e lide com poss&iacute;veis erros.<\/li>\n<\/ol><p>Eis um exemplo simples:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\nuse PHPMailer\\PHPMailer\\PHPMailer;\nuse PHPMailer\\PHPMailer\\Exception;\n\nrequire 'vendor\/autoload.php';\n\n$mail = new PHPMailer(true);\n\ntry {\n    \/\/ Configura&ccedil;&atilde;o SMTP\n    $mail-&gt;isSMTP();\n    $mail-&gt;Host       = 'smtp.example.com';\n    $mail-&gt;SMTPAuth   = true;\n    $mail-&gt;Username   = 'seu@email.com';\n    $mail-&gt;Password   = 'senha';\n    $mail-&gt;SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;\n    $mail-&gt;Port       = 587;\n\n    \/\/ Configura&ccedil;&otilde;es do e-mail\n    $mail-&gt;setFrom('seu@email.com', 'Seu nome');\n    $mail-&gt;addAddress('destinatario@dominio.com');\n\n    $mail-&gt;Subject = 'E-mail de teste';\n    $mail-&gt;Body    = 'Este &eacute; um e-mail de teste enviado com PHPMailer.';\n\n    $mail-&gt;send();\n    echo 'Mensagem enviada com sucesso';\n} catch (Exception $e) {\n    echo \"Erro: {$mail-&gt;ErrorInfo}\";\n}\n<\/pre><h3 class=\"wp-block-heading\">Instalando o PHPMailer<\/h3><p>A maneira mais f&aacute;cil de instalar o PHPMailer &eacute; com <strong>o Composer<\/strong> , o gerenciador de depend&ecirc;ncias do PHP. Execute este comando no diret&oacute;rio raiz do seu projeto:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">composer require phpmailer\/phpmailer\n<\/pre><p>Ap&oacute;s a instala&ccedil;&atilde;o, voc&ecirc; encontrar&aacute; o PHPMailer dentro da pasta <strong>vendor\/<\/strong> do seu projeto:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/seu-projeto  \n  \/vendor  \n    \/phpmailer  \n      \/phpmailer  <\/pre><p>Para usar a biblioteca, carregue o autoloader do Composer no topo do seu script PHP:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">require 'vendor\/autoload.php';<\/pre><p>Se voc&ecirc; n&atilde;o usa Composer, tamb&eacute;m d&aacute; para baixar o PHPMailer pelo GitHub. Nesse caso, coloque a pasta do PHPMailer dentro do seu projeto e inclua os arquivos manualmente:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">require 'PHPMailer\/src\/PHPMailer.php';\nrequire 'PHPMailer\/src\/SMTP.php';\nrequire 'PHPMailer\/src\/Exception.php';<\/pre><p>Para iniciantes, o Composer &eacute; a melhor op&ccedil;&atilde;o, j&aacute; que ele cuida das depend&ecirc;ncias e facilita atualiza&ccedil;&otilde;es.<\/p><h3 class=\"wp-block-heading\">Entendendo os componentes do PHPMailer<\/h3><p>O PHPMailer oferece diversos m&eacute;todos e propriedades para criar e-mails profissionais. Aqui est&atilde;o os mais importantes, juntamente com exemplos curtos que voc&ecirc; pode reutilizar:<\/p><ul class=\"wp-block-list\">\n<li><strong>setFrom()<\/strong> &ndash; define o endere&ccedil;o e o nome do remetente.<\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">$mail-&gt;setFrom('no-reply@dominio.com', 'Nome do site');<\/pre><ul class=\"wp-block-list\">\n<li><strong>addAddress()<\/strong> &ndash; adiciona um ou mais destinat&aacute;rios.<\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">$mail-&gt;addAddress('usuario@exemplo.com', 'Jo&atilde;o Silva');\n$mail-&gt;addAddress('admin@exemplo.com'); \/\/ v&aacute;rios destinat&aacute;rios<\/pre><ul class=\"wp-block-list\">\n<li><strong>addReplyTo()<\/strong> &ndash; especifica o endere&ccedil;o de e-mail para resposta. &Uacute;til para formul&aacute;rios de contato.<\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">$mail-&gt;addReplyTo('suporte@dominio.com', 'Equipe de suporte');<\/pre><ul class=\"wp-block-list\">\n<li><strong>Subject<\/strong> &ndash; define o assunto do e-mail.<\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">$mail-&gt;Subject = 'Confirma&ccedil;&atilde;o do pedido';<\/pre><ul class=\"wp-block-list\">\n<li><strong>Body<\/strong> &ndash; o conte&uacute;do principal em HTML ou texto simples.<\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">$mail-&gt;Body = '&lt;h1&gt;Obrigado!&lt;\/h1&gt;&lt;p&gt;Seu pedido foi recebido.&lt;\/p&gt;';<\/pre><ul class=\"wp-block-list\">\n<li><strong>AltBody<\/strong> &ndash; alternativa em texto simples para clientes que n&atilde;o suportam HTML.<\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">$mail-&gt;AltBody = 'Obrigado! Seu pedido foi recebido.';<\/pre><ul class=\"wp-block-list\">\n<li><strong>addAttachment()<\/strong> &ndash; anexa arquivos.<\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">$mail-&gt;addAttachment('\/caminho\/para\/fatura.pdf', 'Fatura.pdf');<\/pre><p>Esses componentes b&aacute;sicos oferecem controle total sobre a apar&ecirc;ncia e o funcionamento do seu e-mail, tornando-o mais confi&aacute;vel do que a fun&ccedil;&atilde;o b&aacute;sica <strong>mail()<\/strong> do PHP.<\/p><h3 class=\"wp-block-heading\" id=\"h-using-phpmailer-with-hostinger-smtp\">Como usar PHPMailer com o SMTP da Hostinger<\/h3><p>A maioria dos provedores de hospedagem, incluindo a Hostinger, permite que voc&ecirc; envie e-mails usando seus <strong>servidores SMTP<\/strong> . Este &eacute; o m&eacute;todo recomendado, pois melhora a entregabilidade e reduz o risco de seus e-mails serem sinalizados como spam.<\/p><p>Para usar o SMTP da Hostinger com o PHPMailer, voc&ecirc; precisar&aacute; destas informa&ccedil;&otilde;es:<\/p><ul class=\"wp-block-list\">\n<li><strong>Servidor SMTP<\/strong>: smtp.hostinger.com<\/li>\n\n\n\n<li><strong>Porta<\/strong>: 587 (TLS) ou 465 (SSL)<\/li>\n\n\n\n<li><strong>Nome de usu&aacute;rio<\/strong> <\/li>\n\n\n\n<li>: seu endere&ccedil;o de e-mail completo (por exemplo, seunome@seudominio.com)<\/li>\n\n\n\n<li><strong>Senha<\/strong>: a senha dessa conta de e-mail.<\/li>\n<\/ul><p>Aqui est&aacute; um exemplo de configura&ccedil;&atilde;o:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">$mail-&gt;isSMTP();\n$mail-&gt;Host       = 'smtp.hostinger.com';\n$mail-&gt;SMTPAuth   = true;\n$mail-&gt;Username   = 'usuario@seudominio.com';\n$mail-&gt;Password   = 'senha';\n$mail-&gt;SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS; \/\/ ou ENCRYPTION_SMTPS para porta 465\n$mail-&gt;Port       = 587;<\/pre><p>&#128273; <strong>Dicas para iniciantes<\/strong> :<\/p><ul class=\"wp-block-list\">\n<li>Certifique-se de j&aacute; ter criado uma conta de e-mail em <strong>hPanel &rarr; E-mails &rarr; Gerenciar &rarr; Criar nova conta<\/strong> .<\/li>\n\n\n\n<li>A <strong>senha SMTP<\/strong> &eacute; aquela que voc&ecirc; definiu ao criar a conta de e-mail, n&atilde;o a sua senha de login da Hostinger.<\/li>\n\n\n\n<li>Primeiro, teste suas credenciais no <strong>Webmail<\/strong> . Se voc&ecirc; conseguir fazer login l&aacute;, eles tamb&eacute;m devem funcionar com o PHPMailer.<\/li>\n<\/ul><p>Depois de configurado, o PHPMailer vai usar os servidores da Hostinger para enviar seus e-mails com mais seguran&ccedil;a e confiabilidade.<\/p><h3 class=\"wp-block-heading\">Criando um formul&aacute;rio de contato com PHPMailer<\/h3><p>O PHPMailer &eacute; frequentemente usado para formul&aacute;rios de contato. Voc&ecirc; precisar&aacute; de um formul&aacute;rio HTML na p&aacute;gina e um manipulador PHP que utilize o PHPMailer para enviar a mensagem.<\/p><p><strong>Passo 1. Crie um formul&aacute;rio HTML simples<\/strong><\/p><p>Este formul&aacute;rio coletar&aacute; o nome, o e-mail e a mensagem do visitante. Salve o arquivo como index.html ou insira-o em sua p&aacute;gina web:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;form method=\"POST\" action=\"\/contact.php\"&gt;\n  &lt;label for=\"name\"&gt;Nome&lt;\/label&gt;\n  &lt;input id=\"name\" name=\"name\" type=\"text\" required&gt;\n\n  &lt;label for=\"email\"&gt;E-mail&lt;\/label&gt;\n  &lt;input id=\"email\" name=\"email\" type=\"email\" required&gt;\n\n  &lt;label for=\"message\"&gt;Mensagem&lt;\/label&gt;\n  &lt;textarea id=\"message\" name=\"message\" rows=\"6\" required&gt;&lt;\/textarea&gt;\n\n  &lt;button type=\"submit\"&gt;Enviar&lt;\/button&gt;\n&lt;\/form&gt;<\/pre><p><strong>Passo 2. Processe o envio com PHPMailer<\/strong><\/p><p>Agora que o formul&aacute;rio est&aacute; pronto, crie um script PHP (contact.php) para processar o envio e envi&aacute;-lo via PHPMailer. Este script recebe os dados do formul&aacute;rio, os higieniza e os envia para o seu endere&ccedil;o de e-mail:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\nuse PHPMailer\\PHPMailer\\PHPMailer;\nuse PHPMailer\\PHPMailer\\Exception;\n\nrequire 'vendor\/autoload.php';\n\nif ($_SERVER['REQUEST_METHOD'] === 'POST') {\n    \/\/ Valida&ccedil;&atilde;o e sanitiza&ccedil;&atilde;o b&aacute;sica\n    $name    = trim($_POST['name'] ?? '');\n    $email   = trim($_POST['email'] ?? '');\n    $message = trim($_POST['message'] ?? '');\n\n    if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {\n        exit('E-mail inv&aacute;lido.');\n    }\n\n    \/\/ Escapa o conte&uacute;do do usu&aacute;rio antes de inserir no HTML\n    $safeName    = htmlspecialchars($name, ENT_QUOTES, 'UTF-8');\n    $safeEmail   = htmlspecialchars($email, ENT_QUOTES, 'UTF-8');\n    $safeMessage = nl2br(htmlspecialchars($message, ENT_QUOTES, 'UTF-8'));\n\n    $mail = new PHPMailer(true);\n\n    try {\n        \/\/ SMTP (Hostinger)\n        $mail-&gt;isSMTP();\n        $mail-&gt;Host       = 'smtp.hostinger.com';\n        $mail-&gt;SMTPAuth   = true;\n        $mail-&gt;Username   = 'seu@seudominio.com';\n        $mail-&gt;Password   = 'senha-da-conta-de-email';\n        $mail-&gt;SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS; \/\/ 587\n        $mail-&gt;Port       = 587;\n\n        \/\/ Conte&uacute;do do e-mail\n        $mail-&gt;setFrom('seu@seudominio.com', 'Contato do site');\n        $mail-&gt;addAddress('seu@seudominio.com', 'Caixa de entrada');\n\n        \/\/ Responder vai para o visitante\n        $mail-&gt;addReplyTo($email, $name);\n\n        $mail-&gt;Subject = 'Nova mensagem do formul&aacute;rio de contato';\n        $mail-&gt;isHTML(true);\n        $mail-&gt;Body    = \"&lt;p&gt;&lt;strong&gt;Nome:&lt;\/strong&gt; {$safeName}&lt;\/p&gt;\n                          &lt;p&gt;&lt;strong&gt;E-mail:&lt;\/strong&gt; {$safeEmail}&lt;\/p&gt;\n                          &lt;p&gt;&lt;strong&gt;Mensagem:&lt;\/strong&gt;&lt;br&gt;{$safeMessage}&lt;\/p&gt;\";\n        $mail-&gt;AltBody = \"Nome: {$name}\\nE-mail: {$email}\\nMensagem:\\n{$message}\";\n\n        \/\/ Upload de arquivo (opcional)\n        \/\/ if (!empty($_FILES['attachment']['tmp_name'])) {\n        \/\/     $mail-&gt;addAttachment($_FILES['attachment']['tmp_name'], $_FILES['attachment']['name']);\n        \/\/ }\n\n        $mail-&gt;send();\n        echo 'Mensagem enviada com sucesso.';\n    } catch (Exception $e) {\n        echo 'Erro: ' . $mail-&gt;ErrorInfo;\n    }\n}<\/pre><p><strong>Dicas &uacute;teis:<\/strong><\/p><ul class=\"wp-block-list\">\n<li>Valide o input no front-end e no back-end para reduzir spam e abuso.<\/li>\n\n\n\n<li>Use <strong>setFrom()<\/strong> com um e-mail do seu dom&iacute;nio e deixe o e-mail do visitante no <strong>addReplyTo() <\/strong>&mdash; assim as respostas v&atilde;o para a pessoa certa.<\/li>\n\n\n\n<li>Considere adicionar um campo &ldquo;honeypot&rdquo; simples ou um CAPTCHA para diminuir envios autom&aacute;ticos por bots.<\/li>\n<\/ul><h2 class=\"wp-block-heading\" id=\"h-como-resolver-erros-comuns-do-phpmailer\">Como resolver erros comuns do PHPMailer<\/h2><p>O PHPMailer costuma mostrar mensagens de erro bem detalhadas. Abaixo est&atilde;o algumas das mais comuns e o que fazer em cada caso.<\/p><h3 class=\"wp-block-heading\">N&atilde;o foi poss&iacute;vel conectar ao host SMTP<\/h3><p>Esse erro geralmente indica que o endere&ccedil;o do servidor SMTP ou a porta est&atilde;o incorretos. As causas mais comuns s&atilde;o:<\/p><ul class=\"wp-block-list\">\n<li><strong>Nome do servidor incorreto<\/strong>. Verifique novamente os detalhes de SMTP do seu provedor de hospedagem. Por exemplo, com a Hostinger, geralmente &eacute; <strong>smtp.hostinger.com<\/strong> .<\/li>\n\n\n\n<li><strong>Porta bloqueada<\/strong>. Muitos servidores bloqueiam a porta 25. Em vez disso, use a porta <strong>587<\/strong> (TLS) ou <strong>465<\/strong> (SSL).<\/li>\n\n\n\n<li><strong>Restri&ccedil;&otilde;es de firewall<\/strong>. Se voc&ecirc; estiver realizando testes localmente (como no XAMPP ou WAMP), seu provedor de internet ou firewall pode bloquear conex&otilde;es SMTP de sa&iacute;da.<\/li>\n<\/ul><p>&#128073; Se voc&ecirc; n&atilde;o tiver certeza, confirme com o provedor quais s&atilde;o as configura&ccedil;&otilde;es SMTP corretas e se as portas est&atilde;o liberadas na sua rede\/servidor.<\/p><h3 class=\"wp-block-heading\">SMTP connect() failed<\/h3><p>Esse erro geralmente indica uma falha na autentica&ccedil;&atilde;o. Em outras palavras, o PHPMailer est&aacute; conseguindo se comunicar com o servidor, mas seus dados de login n&atilde;o est&atilde;o sendo aceitos. Isso pode ser devido a:<\/p><ul class=\"wp-block-list\">\n<li><strong>Problemas com o nome de usu&aacute;rio<\/strong>. Utilize sempre seu endere&ccedil;o de e-mail completo como nome de usu&aacute;rio SMTP.<\/li>\n\n\n\n<li><strong>Senha incorreta<\/strong>. Se voc&ecirc; alterou sua senha de e-mail recentemente, atualize-a em seu script.<\/li>\n\n\n\n<li><strong>Criptografia incompat&iacute;vel<\/strong>. Certifique-se de estar usando o m&eacute;todo de seguran&ccedil;a correto. Por exemplo:\n<ul class=\"wp-block-list\">\n<li>Porta <strong>587<\/strong> &rarr; PHPMailer::ENCRYPTION_STARTTLS<\/li>\n\n\n\n<li>Porta <strong>465<\/strong> &rarr; PHPMailer::ENCRYPTION_SMTPS<\/li>\n<\/ul>\n<\/li>\n<\/ul><p>&#128073; Se continuar falhando, teste o login no Webmail. Se n&atilde;o der para entrar l&aacute;, as credenciais tamb&eacute;m n&atilde;o v&atilde;o funcionar no PHPMailer.<\/p><h3 class=\"wp-block-heading\">Mensagem rejeitada devido a SPF\/DKIM\/DMARC<\/h3><p>Aqui, o servidor do destinat&aacute;rio recusou sua mensagem porque o seu dom&iacute;nio n&atilde;o tem (ou n&atilde;o est&aacute; usando corretamente) os registros de autentica&ccedil;&atilde;o de e-mail. Esses registros ficam no DNS e provam que voc&ecirc; tem permiss&atilde;o para enviar e-mails em nome do dom&iacute;nio:<\/p><ul class=\"wp-block-list\">\n<li><strong>SPF (Sender Policy Framework)<\/strong>. Indica aos servidores de e-mail quais endere&ccedil;os IP ou hosts podem enviar e-mails para o seu dom&iacute;nio.<\/li>\n\n\n\n<li><strong>DKIM (DomainKeys Identified Mail)<\/strong>. Adiciona uma assinatura digital que verifica se sua mensagem n&atilde;o foi adulterada.<\/li>\n\n\n\n<li><strong>DMARC (Domain-based Message Authentication, Reporting &amp; Conformance)<\/strong>. Indica aos servidores receptores como lidar com mensagens que falham nas verifica&ccedil;&otilde;es SPF ou DKIM.<\/li>\n<\/ul><p>&#128073; Para corrigir, acesse o painel do seu registrador ou da hospedagem e adicione\/ajuste os registros DNS necess&aacute;rios. A maioria dos provedores (incluindo a Hostinger) oferece guias passo a passo para configurar SPF, DKIM e DMARC.<\/p><p>Sem esses registros, suas mensagens t&ecirc;m muito mais chance de cair no spam &mdash; ou serem rejeitadas de vez.<\/p><h2 class=\"wp-block-heading\" id=\"h-da-para-enviar-e-mails-com-phpmailer-usando-gmail-ou-outros-servicos\">D&aacute; para enviar e-mails com PHPMailer usando Gmail ou outros servi&ccedil;os?<\/h2><p>Sim. O PHPMailer funciona com Gmail, Outlook, Yahoo e a maioria dos provedores de e-mail. Voc&ecirc; s&oacute; precisa usar as configura&ccedil;&otilde;es SMTP corretas e o m&eacute;todo de autentica&ccedil;&atilde;o certo. No caso do Gmail, por exemplo, use estes dados:<\/p><ul class=\"wp-block-list\">\n<li><strong>Servidor SMTP<\/strong>: smtp.gmail.com<\/li>\n\n\n\n<li><strong>Porta<\/strong>: 587 (TLS) ou 465 (SSL)<\/li>\n\n\n\n<li><strong>Nome de usu&aacute;rio<\/strong>: seu endere&ccedil;o completo do Gmail<\/li>\n\n\n\n<li><strong>Senha<\/strong>: sua <strong>senha do aplicativo,<\/strong> caso a verifica&ccedil;&atilde;o em duas etapas esteja ativada.<\/li>\n\n\n\n<li>Na sua Conta do Google, crie uma Senha de app em <strong>Seguran&ccedil;a &rarr; Verifica&ccedil;&atilde;o em duas etapas &rarr; Senhas de apps<\/strong> e use-a em $mail-&gt;Password.<\/li>\n<\/ul><p><strong>Exemplo<\/strong> :<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">$mail-&gt;isSMTP();\n$mail-&gt;Host       = 'smtp.gmail.com';\n$mail-&gt;SMTPAuth   = true;\n$mail-&gt;Username   = 'seunome@gmail.com';\n$mail-&gt;Password   = 'sua-senha-de-app'; \/\/ n&atilde;o &eacute; sua senha normal\n$mail-&gt;SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;\n$mail-&gt;Port       = 587;<\/pre><p>Tamb&eacute;m vale ficar atento a limites do provedor. Muitos servi&ccedil;os gratuitos imp&otilde;em um teto di&aacute;rio de envios via SMTP, e o Gmail costuma ter um limite baixo. Se voc&ecirc; precisar de mais volume ou entrega mais r&aacute;pida, pode ser melhor usar um servi&ccedil;o de e-mail dedicado no futuro. A boa not&iacute;cia &eacute; que o PHPMailer se conecta a qualquer servidor SMTP, ent&atilde;o a troca costuma ser simples.<\/p><p><strong>Checklist r&aacute;pido:<\/strong><\/p><ul class=\"wp-block-list\">\n<li>Use a porta e criptografia recomendadas pelo provedor<\/li>\n\n\n\n<li>Fa&ccedil;a autentica&ccedil;&atilde;o com as credenciais corretas<\/li>\n\n\n\n<li>Use um remetente <strong>(From) <\/strong>com um dom&iacute;nio que voc&ecirc; controla para melhorar a entregabilidade<\/li>\n\n\n\n<li>Configure <strong>SPF<\/strong>, <strong>DKIM<\/strong> e <strong>DMARC<\/strong> no DNS do seu dom&iacute;nio para aumentar a confian&ccedil;a dos servidores de destino<\/li>\n<\/ul><h2 class=\"wp-block-heading\" id=\"h-o-e-mail-ainda-e-a-base-dos-servicos-online\">O e-mail ainda &eacute; a base dos servi&ccedil;os online?<\/h2><p>Com certeza. O e-mail continua sendo um dos canais mais confi&aacute;veis para enviar mensagens transacionais, campanhas de marketing e respostas de suporte ao cliente, mesmo com o surgimento de novas ferramentas de comunica&ccedil;&atilde;o. Para empresas, uma estrutura profissional de e-mail com automa&ccedil;&atilde;o economiza tempo e melhora o relacionamento com o p&uacute;blico.<\/p><p>Se voc&ecirc; deseja ir al&eacute;m dos e-mails manuais, explore nosso guia de <a href=\"\/br\/tutoriais\/automacao-de-email-marketing\"><strong>automa&ccedil;&atilde;o de email marketing<\/strong><\/a> para otimizar campanhas e comunica&ccedil;&atilde;o com o cliente.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A comunica&ccedil;&atilde;o por e-mail &eacute; essencial para qualquer site. Ela est&aacute; por tr&aacute;s de tarefas como redefini&ccedil;&atilde;o de senha, envio de formul&aacute;rios e atendimento ao cliente. Nesse sentido, a fun&ccedil;&atilde;o mail() do PHP at&eacute; consegue enviar mensagens simples, mas muitas vezes falha na entrega (principalmente na caixa de entrada) e n&atilde;o oferece recursos que empresas [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/br\/tutoriais\/como-usar-phpmailer\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":356,"featured_media":52853,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"rank_math_title":"Como usar PHPMailer para enviar e-mails com SMTP","rank_math_description":"Aprenda como usar PHPMailer para enviar e-mails com SMTP, criar formul\u00e1rio de contato e resolver erros comuns sem cair no spam.","rank_math_focus_keyword":"como usar phpmailer","footnotes":""},"categories":[4931],"tags":[7826],"class_list":["post-52854","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-email","tag-como-usar-phpmailer"],"hreflangs":[{"locale":"pt-BR","link":"https:\/\/www.hostinger.com\/br\/tutoriais\/como-usar-phpmailer","default":1},{"locale":"pt-PT","link":"https:\/\/www.hostinger.com\/pt\/tutoriais\/como-usar-phpmailer","default":0}],"acf":[],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/br\/tutoriais\/wp-json\/wp\/v2\/posts\/52854","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/br\/tutoriais\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/br\/tutoriais\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/br\/tutoriais\/wp-json\/wp\/v2\/users\/356"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/br\/tutoriais\/wp-json\/wp\/v2\/comments?post=52854"}],"version-history":[{"count":2,"href":"https:\/\/www.hostinger.com\/br\/tutoriais\/wp-json\/wp\/v2\/posts\/52854\/revisions"}],"predecessor-version":[{"id":52914,"href":"https:\/\/www.hostinger.com\/br\/tutoriais\/wp-json\/wp\/v2\/posts\/52854\/revisions\/52914"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/br\/tutoriais\/wp-json\/wp\/v2\/media\/52853"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/br\/tutoriais\/wp-json\/wp\/v2\/media?parent=52854"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/br\/tutoriais\/wp-json\/wp\/v2\/categories?post=52854"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/br\/tutoriais\/wp-json\/wp\/v2\/tags?post=52854"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}