{"id":5734,"date":"2020-08-06T14:40:00","date_gmt":"2020-08-06T17:40:00","guid":{"rendered":"https:\/\/blog.hostinger.io\/pt-tutoriais\/?p=5734"},"modified":"2026-03-10T13:01:13","modified_gmt":"2026-03-10T16:01:13","slug":"como-enviar-emails-usando-php","status":"publish","type":"post","link":"\/pt\/tutoriais\/como-enviar-emails-usando-php","title":{"rendered":"Como enviar e-mails do seu servidor web com o PHP mail() e o PHPMailer: guia completo"},"content":{"rendered":"<?xml encoding=\"utf-8\" ?><p>Se voc&ecirc; tem uma empresa, provavelmente j&aacute; sabe que ter uma conta de e-mail profissional &eacute; importante para aumentar a credibilidade e a confian&ccedil;a para com seus clientes. Para isso, voc&ecirc; precisa&nbsp;<strong>comprar um dom&iacute;nio<\/strong>&nbsp;e configurar seus endere&ccedil;os comerciais em um cliente de e-mail ou servidor.<\/p><p>E existe um detalhe: caso seu site ou web app seja baseado na linguagem de programa&ccedil;&atilde;o PHP, ele pode enviar e-mails diretamente do seu servidor web. Os recursos de correio eletr&ocirc;nico do PHP permitem que voc&ecirc; crie formul&aacute;rios de e-mail personalizados e envie e-mails b&aacute;sicos para m&uacute;ltiplos destinat&aacute;rios.<\/p><p>Voc&ecirc; tem duas maneiras de enviar e-mails em PHP: usando a&nbsp;<strong>fun&ccedil;&atilde;o mail()&nbsp;<\/strong>integrada do<strong>&nbsp;PHP&nbsp;<\/strong>ou optando por uma biblioteca de envio de e-mails, como o&nbsp;<strong>PHPMailer<\/strong>.<\/p><p>Neste artigo, falaremos sobre&nbsp; as diferen&ccedil;as entre o PHPMailer e a fun&ccedil;&atilde;o&nbsp;<strong>mail()&nbsp;<\/strong>e mostraremos como enviar e-mails com ambos.<\/p><p class=\"has-text-align-center\"><a href=\"https:\/\/assets.hostinger.com\/content\/BR-Web-Development-Glossary-for-Beginners.pdf\" target=\"_blank\" rel=\"noreferrer noopener\">Baixar Gloss&aacute;rio Completo de Desenvolvimento Web<\/a><\/p><p>\n\n\n\n\n<\/p><p><\/p><p><div class=\"protip\">\n                    <h2 class=\"featured-snippet title\">O que &eacute; PHP mail?<\/h2>\n                    <p>O PHP mail &eacute; uma fun&ccedil;&atilde;o que envia e-mails usando scripts PHP. A fun&ccedil;&atilde;o, integrada nativamente &agrave; linguagem PHP, pode enviar mensagens para m&uacute;ltiplos destinat&aacute;rios a cada disparo. No entanto, ela n&atilde;o &eacute; indicada para envio de e-mails em massa sem o uso de um pacote de correio PHP externo, como o PHPMailer.<\/p>\n                <\/div>\n\n\n\n<\/p><h2 class=\"wp-block-heading\" id=\"h-phpmailer-e-funcao-mail-pros-e-contras\"><strong>PHPMailer e fun&ccedil;&atilde;o mail(): pr&oacute;s e contras<\/strong><\/h2><p>O PHP mail permite que os administradores de sites baseados em PHP enviem e-mails diretamente de seus&nbsp;<a href=\"\/pt\/tutoriais\/web-server\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>servidores web<\/strong><\/a>&nbsp;usando scripts PHP. Com isso, voc&ecirc; fica livre da obriga&ccedil;&atilde;o de contratar uma hospedagem de e-mail separada, pois a fun&ccedil;&atilde;o PHP &eacute; integrada ao servidor web.<\/p><p>O envio de e-mails via&nbsp;<a href=\"\/pt\/tutoriais\/o-que-e-php-guia-basico\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>PHP<\/strong><\/a>&nbsp;&eacute; poss&iacute;vel por meio da fun&ccedil;&atilde;o nativa&nbsp;<strong>mail()&nbsp;<\/strong>ou de um pacote externo do PHP, como o PHPMailer. Aqui est&aacute; uma breve explica&ccedil;&atilde;o de cada m&eacute;todo, incluindo suas vantagens e desvantagens:<\/p><p><strong>Fun&ccedil;&atilde;o PHP mail()<\/strong><\/p><p><strong>mail(<\/strong>) &eacute; uma fun&ccedil;&atilde;o PHP que usa scripts PHP para enviar e-mails simples. A fun&ccedil;&atilde;o mail inclui tr&ecirc;s par&acirc;metros obrigat&oacute;rios:&nbsp;<strong>$to<\/strong>,&nbsp;<strong>$subject&nbsp;<\/strong>e&nbsp;<strong>$message<\/strong>. Os par&acirc;metros opcionais que voc&ecirc; pode utilizar incluem&nbsp;<strong>$headers&nbsp;<\/strong>e&nbsp;<strong>$parameters<\/strong>. Falaremos sobre esses par&acirc;metros mais abaixo neste artigo.<\/p><p>Essa fun&ccedil;&atilde;o PHP nativa retorna um valor&nbsp;<strong>booleano&nbsp;<\/strong>ap&oacute;s a execu&ccedil;&atilde;o:&nbsp;<strong>TRUE&nbsp;<\/strong>se o servidor receber com &ecirc;xito o e-mail para envio ou&nbsp;<strong>FALSE&nbsp;<\/strong>em caso de falha.<\/p><p><strong>Vantagens<\/strong>:<\/p><ul class=\"wp-block-list\">\n<li>Pr&eacute;-instalado e pronto para uso &mdash; tudo o que voc&ecirc; precisa &eacute; ter o PHP.<\/li>\n\n\n\n<li>Compat&iacute;vel com vers&otilde;es anteriores, ent&atilde;o uma&nbsp;<a href=\"\/pt\/tutoriais\/atualizar-php-hostinger\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>mudar a vers&atilde;o do PHP&nbsp;<\/strong><\/a>n&atilde;o interromper&aacute; o script.<\/li>\n\n\n\n<li>F&aacute;cil de aprender.<\/li>\n<\/ul><p><strong>Desvantagens<\/strong>:<\/p><ul class=\"wp-block-list\">\n<li>Envia e-mails usando um m&eacute;todo ultrapassado e sem suporte a autentica&ccedil;&otilde;es modernas, como SPF e DKIM.<\/li>\n\n\n\n<li>Muitas vezes, as mensagens enviadas caem em pastas de spam ou lixo eletr&ocirc;nico devido &agrave; falta de autentica&ccedil;&atilde;o e &agrave;s configura&ccedil;&otilde;es inadequadas.<\/li>\n\n\n\n<li>Requer uma configura&ccedil;&atilde;o complexa se voc&ecirc; quiser usar SMTP, aumentando a chance de acionar filtros de spam.<\/li>\n\n\n\n<li>N&atilde;o consegue lidar com grandes volumes de e-mails de forma eficaz.<\/li>\n\n\n\n<li>Oferece limites de envio mais baixos e menos confiabilidade em compara&ccedil;&atilde;o com o PHPMailer.<\/li>\n\n\n\n<li>Retorna a mensagem de sucesso&nbsp;<strong>TRUE&nbsp;<\/strong>mesmo que o e-mail n&atilde;o chegue ao destinat&aacute;rio.<\/li>\n<\/ul><p><div><p class=\"important\"><strong>Importante! <\/strong>Para os cleintes da Hostinger, lembre-se de que os limites atuais para e-mails enviados via PHP mail() s&atilde;o <strong>100\/dia<\/strong> e <strong>10\/minuto<\/strong>. Esses limites ser&atilde;o redefinidos a cada 24 horas e ser&atilde;o consumidos imediatamente se houver e-mails na fila de envio.<\/p><\/div>\n\n\n\n<\/p><p><strong>PHPMailer<\/strong><\/p><p>O PHPMailer &eacute; uma biblioteca de envio de e-mails muito popular que usa a fun&ccedil;&atilde;o&nbsp;<strong>mail()&nbsp;<\/strong>ou um servidor&nbsp;<a href=\"\/pt\/tutoriais\/portas-pop3-smtp-e-imap\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>SMTP (Simple Mail Transfer Protocol)<\/strong><\/a>. Ela permite que voc&ecirc; tenha acesso a uma s&eacute;rie de fun&ccedil;&otilde;es para envio de e-mails, simplificando o processo configura&ccedil;&atilde;o do PHP para enviar mensagens.<\/p><p><strong>Vantagens<\/strong>:<\/p><ul class=\"wp-block-list\">\n<li>Envia e-mails por meio de uma conex&atilde;o segura com autentica&ccedil;&atilde;o SPF e DKIM, melhorando a confiabilidade das suas mensagens.<\/li>\n\n\n\n<li>Simplifica a configura&ccedil;&atilde;o e oferece suporte a recursos avan&ccedil;ados, como corpos HTML e anexos.<\/li>\n\n\n\n<li>Oferece suporte a SMTP com criptografia&nbsp;<a href=\"\/pt\/tutoriais\/o-que-e-ssl\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>SSL&nbsp;<\/strong><\/a>e&nbsp;<strong>TLS&nbsp;<\/strong>integrada.<\/li>\n\n\n\n<li>Lida com grandes volumes de e-mail de forma eficiente em um curto per&iacute;odo.<\/li>\n<\/ul><p><strong>Desvantagens<\/strong>:<\/p><ul class=\"wp-block-list\">\n<li>Requer instala&ccedil;&atilde;o manual por meio de SSH.<\/li>\n\n\n\n<li>No plano de hospedagem&nbsp;<strong>Single<\/strong>&nbsp;da Hostinger, gera custos adicionais devido &agrave; falta de acesso SSH.<\/li>\n\n\n\n<li>Tem uma curva de aprendizado mais acentuada em compara&ccedil;&atilde;o com a fun&ccedil;&atilde;o&nbsp;<strong>mail()&nbsp;<\/strong>nativa.<\/li>\n<\/ul><p><div><p class=\"important\"><strong>Importante! <\/strong>Se voc&ecirc; usar o PHPMailer com o&nbsp;<a href=\"https:\/\/support.hostinger.com\/en\/articles\/5326155-parameters-and-limits-of-titan-email\" target=\"_blank\" rel=\"noreferrer noopener\">Titan Mail na Hostinger, o limite de envio ser&aacute;<\/a><strong>&nbsp;<\/strong>de&nbsp;<strong>1\/000 e-mails\/dia&nbsp;<\/strong>e&nbsp;<strong>300 e-mails\/hora<\/strong>. Para o&nbsp;<a href=\"https:\/\/support.hostinger.com\/pt\/articles\/4625828-recursos-e-limites-dos-e-mails-da-hostinger\" target=\"_blank\" rel=\"noreferrer noopener\">servi&ccedil;o de e-mail da Hostinger, o limite &eacute; maior<\/a>: at&eacute;&nbsp;<strong>3.000 e-mails\/dia&nbsp;<\/strong>sem limite por hora. Verifique os par&acirc;metros e limites de cada servi&ccedil;o, pois eles variam de acordo com seu plano de hospedagem.<\/p><\/div>\n\n\n\n<\/p><h2 class=\"wp-block-heading\" id=\"h-como-usar-o-phpmailer-para-enviar-e-mails\"><strong>Como usar o PHPMailer para enviar e-mails<\/strong><\/h2><p>Nesta se&ccedil;&atilde;o, detalharemos as etapas para enviar e-mails usando o PHPMailer. Recomendamos o uso de uma conex&atilde;o SMTP autenticada com o PHPMailer para aumentar a capacidade de entrega de seus e-mails sem que eles sejam bloqueados por filtros de spam.<\/p><h3 class=\"wp-block-heading\"><strong>Instalando do PHPMailer<\/strong><\/h3><p>A instala&ccedil;&atilde;o do PHPMailer &eacute; bastante simples, especialmente se voc&ecirc; usar o&nbsp;<a href=\"\/pt\/tutoriais\/como-instalar-e-usar-o-composer\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Composer<\/strong><\/a>.<\/p><p>Observe que&nbsp;<a href=\"\/pt\/hospedagem-de-sites\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>os planos de hospedagem Premium e Business da Hostinger<\/strong><\/a>, bem como nossas&nbsp;<a href=\"\/pt\/hospedagem-cloud\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>op&ccedil;&otilde;es de hospedagem cloud<\/strong><\/a>, v&ecirc;m pr&eacute;-instalados com duas vers&otilde;es do Composer.<\/p><p>Use o comando&nbsp;<strong>composer&nbsp;<\/strong>para ativar a vers&atilde;o&nbsp;<strong>1.10&nbsp;<\/strong>do Composer. Se voc&ecirc; precisar da nova vers&atilde;o&nbsp;<strong>2.0&nbsp;<\/strong>ou usar o PHP vers&atilde;o&nbsp;<strong>8.0&nbsp;<\/strong>ou posterior, execute o&nbsp;<strong>comando composer2<\/strong>.<\/p><figure class=\"wp-block-image size-large\"><a href=\"\/pt\/hospedagem-barata\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"1024\" height=\"300\" src=\"https:\/\/blog.hostinger.io\/pt-tutoriais\/wp-content\/uploads\/sites\/26\/2023\/02\/BR-Web-hosting_in-text-banner-1024x300.png\" alt=\"\" class=\"wp-image-32927\" srcset=\"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2023\/02\/BR-Web-hosting_in-text-banner.png 1024w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2023\/02\/BR-Web-hosting_in-text-banner-300x88.png 300w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2023\/02\/BR-Web-hosting_in-text-banner-150x44.png 150w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2023\/02\/BR-Web-hosting_in-text-banner-768x225.png 768w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2023\/02\/BR-Web-hosting_in-text-banner-1536x450.png 1536w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><p>\n<div><p class=\"important\"><strong>Importante! <\/strong>Voc&ecirc; deve instalar o PHPMailer usando o Composer por meio de SSH para que ele funcione corretamente. Adicionar um arquivo&nbsp;<strong>phpmailer.php&nbsp;<\/strong>com c&oacute;digo SMTP, conforme abordaremos mais adiante neste guia, n&atilde;o funcionar&aacute; sem a instala&ccedil;&atilde;o adequada.<\/p><\/div>\n\n\n\n<\/p><p>Siga estas etapas para instalar o PHPMailer manualmente:<\/p><ol class=\"wp-block-list\">\n<li>No&nbsp;<a href=\"\/pt\/tutoriais\/hpanel\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>hPanel<\/strong><\/a>, v&aacute; at&eacute;&nbsp;<strong>Avan&ccedil;ado &rarr; Acesso SSH&nbsp;<\/strong>e anote o&nbsp;<strong>IP<\/strong>,&nbsp;<strong>a porta<\/strong>, o&nbsp;<strong>nome de usu&aacute;rio&nbsp;<\/strong>e&nbsp;<strong>a senha do SSH&nbsp;<\/strong>na janela&nbsp;<strong>detalhes do SSH<\/strong>.<\/li>\n\n\n\n<li>Abra o PuTTY e digite suas informa&ccedil;&otilde;es de SSH nos&nbsp;<strong>campos Hostname (ou endere&ccedil;o IP)&nbsp;<\/strong>e&nbsp;<strong>Porta<\/strong>. Em seguida, clique em&nbsp;<strong>Abrir<\/strong>.<\/li>\n\n\n\n<li>Quando uma janela de comando for exibida, digite o nome de usu&aacute;rio e a senha do SSH e pressione&nbsp;<strong>Enter<\/strong>. Lembre-se de que o PuTTY n&atilde;o exibir&aacute; a senha, portanto, n&atilde;o se estranhe se ela n&atilde;o aparecer na tela.<\/li>\n\n\n\n<li>Execute o seguinte comando para navegar at&eacute; o diret&oacute;rio&nbsp;<strong>public_html<\/strong>:<\/li>\n<\/ol><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=\"\">cd public_html<\/pre><ol start=\"5\" class=\"wp-block-list\">\n<li>Execute o seguinte comando para instalar o PHPMailer:<\/li>\n<\/ol><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=\"\">composer2 require phpmailer\/phpmailer<\/pre><ol start=\"6\" class=\"wp-block-list\">\n<li>Aguarde um pouco at&eacute; que o processo de instala&ccedil;&atilde;o seja conclu&iacute;do. Voc&ecirc; dever&aacute; ver algo assim:<\/li>\n<\/ol><div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/blog.hostinger.io\/br-tutoriais\/wp-content\/uploads\/sites\/53\/2020\/08\/Finished-Composer-installation-process.png\" alt=\"linha de comando ap&oacute;s instala&ccedil;&atilde;o do composer e do phpmailer\" class=\"wp-image-49519\"><\/figure><\/div><p><div class=\"protip\">\n                    <h4 class=\"title\">Dica de leitura<\/h4>\n                    <p>Saiba mais sobre os&nbsp;<a href=\"\/pt\/tutoriais\/lista-de-comandos-basicos-ssh\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>comandos SSH<\/strong><\/a>&nbsp;para ajudar a gerenciar seu servidor.<\/p>\n                <\/div>\n\n\n\n<\/p><h3 class=\"wp-block-heading\"><strong>Entendendo os componentes do PHPMailer<\/strong><\/h3><p>Para entender como o PHPMailer funciona, vamos analisar cada componente do script acima.<\/p><ul class=\"wp-block-list\">\n<li><strong>use PHPMailerPHPMailerPHPMailer;&nbsp;<\/strong>&ndash; importa a classe PHPMailer para o&nbsp;<a href=\"https:\/\/www.php.net\/manual\/en\/language.namespaces.php\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>namespace global<\/strong><\/a>.<\/li>\n\n\n\n<li><strong>require &lsquo;..\/vendor\/autoload.php&rsquo;;&nbsp;<\/strong>&ndash; inclui v&aacute;rias bibliotecas de que o PHPMailer precisa.<\/li>\n\n\n\n<li><strong>$mail = new PHPMailer;&nbsp;<\/strong>&ndash; cria um novo objeto PHPMailer.<\/li>\n\n\n\n<li><strong>$mail-&gt;isSMTP();&nbsp;<\/strong>&ndash; informa &agrave; classe PHPMailer para usar a configura&ccedil;&atilde;o SMTP personalizada definida no script em vez do servidor de correio eletr&ocirc;nico local.<\/li>\n\n\n\n<li><strong>$mail-&gt;SMTPDebug = 2;&nbsp;<\/strong>&ndash; detecta se algo est&aacute; errado com a conex&atilde;o SMTP.<\/li>\n\n\n\n<li><strong>$mail-&gt;Host = &lsquo;smtp.hostinger.com&rsquo;;&nbsp;<\/strong>&ndash; &eacute; aqui que o endere&ccedil;o do servidor SMTP deve ser especificado.<\/li>\n\n\n\n<li><strong>$mail-&gt;Port = 587;&nbsp;<\/strong>&ndash; define a porta SMTP. Escolheremos a <a href=\"\/pt\/tutoriais\/como-checar-porta-smtp-587\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>porta SMTP 587<\/strong><\/a>&nbsp;como a porta padr&atilde;o de envio de e-mail para todos os tipos de transmiss&atilde;o de dados SMTP.<\/li>\n\n\n\n<li><strong>$mail-&gt;SMTPAuth = true;&nbsp;<\/strong>&ndash; ativa a autentica&ccedil;&atilde;o SMTP.<\/li>\n\n\n\n<li><strong>$mail-&gt;Username = &lsquo;mymail@myawesomedomain.tld&rsquo;;&nbsp;<\/strong>&ndash; especifique seu endere&ccedil;o de e-mail aqui.<\/li>\n\n\n\n<li><strong>$mail-&gt;Password = &lsquo;My$tr0ngPa55w0rd!;&nbsp;<\/strong>&ndash; digite sua senha de e-mail aqui.<\/li>\n\n\n\n<li><strong>$mail-&gt;setFrom(&lsquo;mymail@myawesomedomain.tld&rsquo;, &lsquo;Your Name&rsquo;);&nbsp;<\/strong>&ndash; &eacute; aqui que voc&ecirc; insere o endere&ccedil;o de e-mail do remetente.<\/li>\n\n\n\n<li><strong>$mail-&gt;addReplyTo(&lsquo;mymail@myawesomedomain.tld&rsquo;, &lsquo;Your Name&rsquo;)<\/strong>;- informa ao destinat&aacute;rio para qual endere&ccedil;o ele deve responder.<\/li>\n\n\n\n<li><strong>$mail-&gt;addAddress(&lsquo;recipient@domain.tld&rsquo;, &lsquo;Receiver Name&rsquo;);&nbsp;<\/strong>&ndash; insira o endere&ccedil;o do destinat&aacute;rio aqui.<\/li>\n\n\n\n<li><strong>$mail-&gt;Subject = &lsquo;Checking if PHPMailer works&rsquo;;&nbsp;<\/strong>&ndash; adicione o assunto do e-mail aqui.<\/li>\n\n\n\n<li><strong>$mail-&gt;msgHTML(file_get_contents(&lsquo;message.html&rsquo;), DIR);&nbsp;<\/strong>&ndash; l&ecirc; o corpo de uma mensagem HTML de um arquivo externo. A fun&ccedil;&atilde;o&nbsp;<strong>file_get_contents()&nbsp;<\/strong>carregar&aacute; o conte&uacute;do de&nbsp;<strong>message.html<\/strong>, um arquivo local localizado no diret&oacute;rio&nbsp;<strong>public_html<\/strong>, e o incluir&aacute; na mensagem.<\/li>\n\n\n\n<li><strong>$mail-&gt;Body = &lsquo;This is just a plain text message body&rsquo;;&nbsp;<\/strong>&ndash; cont&eacute;m o corpo da mensagem do e-mail.<\/li>\n\n\n\n<li><strong>\/\/$mail-&gt;addAttachment(&lsquo;attachment.txt&rsquo;);&nbsp;<\/strong>&ndash; se quiser incluir anexos, adicione os nomes dos arquivos e remova a barra dupla dessa declara&ccedil;&atilde;o.<\/li>\n\n\n\n<li><strong>if (!$mail-&gt;send()) {&nbsp;<\/strong>&ndash; define o que acontece quando o script &eacute; executado.<\/li>\n\n\n\n<li><strong>echo &lsquo;Mailer Error:&rsquo;. $mail-&gt;ErrorInfo;&nbsp;<\/strong>&ndash; voc&ecirc; ver&aacute; uma mensagem de erro e os detalhes do erro se o script n&atilde;o conseguir fazer o envio.<\/li>\n\n\n\n<li><strong>} else {&nbsp;<\/strong>&ndash; estende a instru&ccedil;&atilde;o&nbsp;<strong>if&nbsp;<\/strong>e descreve o que acontece se a condi&ccedil;&atilde;o anterior n&atilde;o for atendida.<\/li>\n\n\n\n<li><strong>echo &lsquo;The email message was sent!&rsquo;;&nbsp;<\/strong>&ndash; significa que o processo de envio de e-mail foi bem-sucedido.<\/li>\n<\/ul><p><div class=\"protip\">\n                    <h4 class=\"title\">Dica<\/h4>\n                    <p>A linha&nbsp;<strong>SMTPDebug = 2;&nbsp;<\/strong>s&oacute; &eacute; aplic&aacute;vel quando voc&ecirc; testa um script e deseja ver como ele funciona. Lembre-se de alter&aacute;-la para&nbsp;<strong>SMTPDebug = 0;&nbsp;<\/strong>quando terminar o teste para evitar que os receptores capturem o relat&oacute;rio de entrega do protocolo SMTP.<\/p>\n                <\/div>\n\n\n\n<\/p><h3 class=\"wp-block-heading\"><strong>Usando o PHPMailer com o SMTP da Hostinger<\/strong><\/h3><p>Depois de instalar o PHPMailer, voc&ecirc; pode come&ccedil;ar a enviar e-mails em PHP. Esta se&ccedil;&atilde;o mostrar&aacute; como enviar e-mails por meio do servidor SMTP da Hostinger usando o PHPMailer.<\/p><p>Para isso, siga as etapas abaixo:<\/p><ol class=\"wp-block-list\">\n<li><strong><a href=\"\/pt\/tutoriais\/email-empresarial-como-criar\" target=\"_blank\" rel=\"noreferrer noopener\">Crie uma conta de e-mail<\/a><\/strong> acessando&nbsp;<strong>o hPanel&nbsp;<\/strong>e, em seguida, v&aacute; para&nbsp;<strong>Emails &rarr; Contas de e-mail &rarr; Criar conta de e-mail<\/strong>.<\/li>\n\n\n\n<li>Preencha o novo endere&ccedil;o de e-mail e defina uma senha. Em seguida, clique em&nbsp;<strong>Criar<\/strong>. Lembre-se dessas informa&ccedil;&otilde;es, pois voc&ecirc; as usar&aacute; para enviar e-mails pelo PHPMailer.<\/li>\n\n\n\n<li>Na mesma p&aacute;gina, v&aacute; para&nbsp;<strong>Configura&ccedil;&otilde;es &rarr; Configura&ccedil;&atilde;o Manual&nbsp;<\/strong>e anote a&nbsp;<strong>porta SMTP&nbsp;<\/strong>e o&nbsp;<strong>hostname<\/strong>.<\/li>\n\n\n\n<li>Acesse o<strong>&nbsp;hPanel&nbsp;<\/strong>e navegue at&eacute;&nbsp;<strong>Arquivos &rarr; Gerenciador de Arquivos<\/strong>. Clique na pasta&nbsp;<strong>public_html&nbsp;<\/strong>e selecione&nbsp;<strong>Adicionar Novo&nbsp;<\/strong>para criar um novo arquivo. Nomeie o arquivo como&nbsp;<strong>phpmailer.php&nbsp;<\/strong>e clique em&nbsp;<strong>Criar<\/strong>.<\/li>\n\n\n\n<li>Clique duas vezes no arquivo&nbsp;<strong>phpmailer.php<\/strong>, copie e cole o c&oacute;digo abaixo depois de fazer todas as altera&ccedil;&otilde;es necess&aacute;rias. Certifique-se de substituir&nbsp;<strong>mymail@myawesomedomain.tld&nbsp;<\/strong>e&nbsp;<strong>recipient@domain.tld&nbsp;<\/strong>pelo seu dom&iacute;nio existente e&nbsp;<strong>My$tr0ngPa55w0rd!&nbsp;<\/strong>pela senha da sua conta de e-mail.<\/li>\n<\/ol><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\nrequire 'vendor\/autoload.php';\nuse PHPMailerPHPMailerPHPMailer;\n$mail = new PHPMailer;\n$mail-&gt;isSMTP();\n$mail-&gt;SMTPDebug = 2;\n$mail-&gt;Host = 'smtp.hostinger.com';\n$mail-&gt;Port = 587;\n$mail-&gt;SMTPAuth = true;\n$mail-&gt;Username = 'mymail@myawesomedomain.tld';\n$mail-&gt;Password = 'My$tr0ngPa55w0rd!';\n$mail-&gt;setFrom('mymail@myawesomedomain.tld', 'Your Name');\n$mail-&gt;addReplyTo('mymail@myawesomedomain.tld', 'Your Name');\n$mail-&gt;addAddress('recipient@domain.tld', 'Receiver Name');\n$mail-&gt;Subject = 'Checking if PHPMailer works';\n$mail-&gt;msgHTML(file_get_contents('message.html'), __DIR__);\n$mail-&gt;Body = 'This is just a plain text message body';\n\/\/$mail-&gt;addAttachment('attachment.txt');\nif (!$mail-&gt;send()) {\necho 'Mailer Error:'. $mail-&gt;ErrorInfo;\n} else {\necho 'The email message was sent.';\n}\n?&gt;<\/pre><ol start=\"6\" class=\"wp-block-list\">\n<li>Ap&oacute;s editar o c&oacute;digo, clique em&nbsp;<strong>Salvar e fechar<\/strong>. Para executar o script, digite&nbsp;<strong>seudominio.com\/phpmailer.php&nbsp;<\/strong>em seu navegador.<\/li>\n<\/ol><p><div class=\"protip\">\n                    <h4 class=\"title\">Configura&ccedil;&atilde;o do Titan SMTP<\/h4>\n                    <p>Se estiver usando o Titan Mail, conecte-se pela porta&nbsp;<strong>465&nbsp;<\/strong>(SSL) ou&nbsp;<strong>587&nbsp;<\/strong>(STARTTLS). Acesse&nbsp;<strong>Emails &rarr; Configurar Aplicativo de Desktop&nbsp;<\/strong>para ver&nbsp;<a href=\"https:\/\/support.hostinger.com\/pt\/articles\/5966022-como-obter-informacoes-de-configuracao-de-conta-de-e-mail-para-o-e-mail-titan\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>os detalhes de configura&ccedil;&atilde;o de sua conta de e-mail<\/strong><\/a>. Voc&ecirc; tamb&eacute;m pode consultar&nbsp;<a href=\"https:\/\/support.titan.email\/hc\/pt-br\/articles\/900000215446-Configure-o-Titan-em-outros-aplicativos-usando-IMAP-POP\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>o tutorial oficial do Titan&nbsp;<\/strong><\/a>para obter as configura&ccedil;&otilde;es corretas de SMTP, IMAP ou POP.<\/p>\n                <\/div>\n\n\n\n<\/p><h3 class=\"wp-block-heading\"><strong>Criando de um formul&aacute;rio de contato com o PHPMailer<\/strong><\/h3><p>Al&eacute;m de enviar e-mails PHP simples, o PHPMailer permite que os usu&aacute;rios criem v&aacute;rios formul&aacute;rios de contato, como pesquisas de feedback.<\/p><p>Como os scripts PHP anteriores, crie um novo arquivo PHP na pasta&nbsp;<strong>public_html&nbsp;<\/strong>e nomeie-o como&nbsp;<strong>formscript.php<\/strong>. Copie e cole o script abaixo no novo arquivo e modifique os valores de acordo com o que voc&ecirc; deseja:<\/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 PHPMailerPHPMailerPHPMailer;\n$msg = '';\nif (array_key_exists('email', $_POST)) {\nrequire 'vendor\/autoload.php';\n$mail = new PHPMailer;\n$mail-&gt;isSMTP();\n$mail-&gt;Host = 'smtp.hostinger.com';\n$mail-&gt;Port = 587;\n$mail-&gt;SMTPDebug = 0;\n$mail-&gt;SMTPAuth = true;\n$mail-&gt;Username = 'mymail@myawesomedomain.tld';\n$mail-&gt;Password = 'My$tr0ngPa55w0rd!';\n$mail-&gt;setFrom('mymail@myawesomedomain.tld', 'Mr. Snuffles');\n$mail-&gt;addAddress('recipient@domain.tld', 'Receiver Name');\nif ($mail-&gt;addReplyTo($_POST['email'], $_POST['name'])) {\n$mail-&gt;Subject = 'PHPMailer contact form';\n$mail-&gt;isHTML(false);\n$mail-&gt;Body = &lt;&lt;&lt;EOT\nEmail: {$_POST['email']}\nName: {$_POST['name']}\nMessage: {$_POST['message']}\nEOT;\nif (!$mail-&gt;send()) {\n$msg = 'Sorry, something went wrong. Please try again later.';\n} else {\n$msg = 'Message sent! Thanks for contacting us.';\n}\n} else {\n$msg = 'Share it with us!';\n}\n}\n?&gt;\n&lt;!DOCTYPE html&gt;\n&lt;html lang=\"en\"&gt;\n&lt;head&gt;\n&lt;meta charset=\"UTF-8\"&gt;\n&lt;title&gt;Contact form&lt;\/title&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n&lt;h1&gt;Contact us&lt;\/h1&gt;\n&lt;?php if (!empty($msg)) {\necho \"&lt;h2&gt;$msg&lt;\/h2&gt;\";\n} ?&gt;\n&lt;form method=\"POST\"&gt;\n&lt;label for=\"name\"&gt;Name: &lt;input type=\"text\" name=\"name\" id=\"name\"&gt;&lt;\/label&gt;&lt;br&gt;\n&lt;label for=\"email\"&gt;Email address: &lt;input type=\"email\" name=\"email\" id=\"email\"&gt;&lt;\/label&gt;&lt;br&gt;\n&lt;label for=\"message\"&gt;Message: &lt;textarea name=\"message\" id=\"message\" rows=\"8\" cols=\"20\"&gt;&lt;\/textarea&gt;&lt;\/label&gt;&lt;br&gt;\n&lt;input type=\"submit\" value=\"Send\"&gt;\n&lt;\/form&gt;\n&lt;\/body&gt;\n&lt;\/html&gt;<\/pre><p><div class=\"protip\">\n                    <h4 class=\"title\">Dica<\/h4>\n                    <p>Usar os dados do usu&aacute;rio diretamente a partir de&nbsp;<strong>$_POST<\/strong>&nbsp;sem qualquer tratamento n&atilde;o &eacute; seguro, pois pode abrir brechas para&nbsp;<strong>ataques de cross-site scripting (XSS)<\/strong>. Para evitar isso, confira as&nbsp;<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"https:\/\/www.geeksforgeeks.org\/what-are-the-best-input-sanitizing-functions-in-php\"><strong>pr&aacute;ticas recomendadas para sanitiza&ccedil;&atilde;o de vari&aacute;veis do PHP<\/strong><\/a>.<\/p>\n                <\/div>\n\n\n\n<\/p><p>Salve suas altera&ccedil;&otilde;es e execute o script em seu navegador.<\/p><p>Veja como ser&aacute; o resultado:<\/p><div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/blog.hostinger.io\/br-tutoriais\/wp-content\/uploads\/sites\/53\/2020\/08\/Contact-Us-form-example.png\" alt=\"formul&aacute;rio de contato b&aacute;sico criado via phpmailer\" class=\"wp-image-49518\"><\/figure><\/div><p>Se um visitante enviar uma mensagem por meio do formul&aacute;rio, ele receber&aacute; uma confirma&ccedil;&atilde;o. O conte&uacute;do do formul&aacute;rio ser&aacute; enviado para o endere&ccedil;o de e-mail que voc&ecirc; inseriu aqui:<\/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-&amp;gt;addAddress('recipient@domain.tld', 'Receiver Name');<\/pre><p><div class=\"protip\">\n                    <h4 class=\"title\">Dica<\/h4>\n                    <p>Se o formul&aacute;rio de contato do PHPMailer n&atilde;o funcionar, altere a linha&nbsp;<strong>$mail-&gt;SMTPDebug = 0;&nbsp;<\/strong>para&nbsp;<strong>$mail-&gt;SMTPDebug = 2&nbsp;<\/strong>para identificar a causa. N&atilde;o se esque&ccedil;a de remover a linha ou alterar o&nbsp;<strong>2&nbsp;<\/strong>para&nbsp;<strong>0&nbsp;<\/strong>depois.<\/p>\n                <\/div>\n\n\n\n<\/p><p>Visite&nbsp;<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/PHPMailer\/PHPMailer\/tree\/master\/examples\"><strong>o reposit&oacute;rio oficial do PHPMailer&nbsp;<\/strong><\/a>no GitHub para conferir outros exemplos de como usar a biblioteca de envio de e-mails.<\/p><p>Se voc&ecirc; usar o WordPress, pode simplificar o processo de cria&ccedil;&atilde;o de formul&aacute;rios usando um&nbsp;plugin de formul&aacute;rio de contato, como o&nbsp;<strong>Formidable Forms<\/strong>, o<strong>&nbsp;Contact Form 7&nbsp;<\/strong>ou&nbsp;<strong>o WPForms<\/strong>.<\/p><h2 class=\"wp-block-heading\" id=\"h-como-enviar-e-mails-usando-a-funcao-mail-do-php\"><strong>Como enviar e-mails usando a fun&ccedil;&atilde;o mail() do PHP<\/strong><\/h2><p>Outro m&eacute;todo para enviar e-mails diretamente do PHP &eacute; a fun&ccedil;&atilde;o&nbsp;<strong>mail()&nbsp;<\/strong>incorporada. Para usar esse recurso, os usu&aacute;rios que hospedam seu aplicativo ou site PHP em um servidor local devem configurar um programa&nbsp;<strong>Sendmail&nbsp;<\/strong>alterando o&nbsp;<a href=\"\/pt\/tutoriais\/php-ini\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>arquivo php.ini<\/strong><\/a>&nbsp;na pasta de instala&ccedil;&atilde;o do PHP.<\/p><p>Se voc&ecirc; usa um servidor de hospedagem,&nbsp;<strong>o Sendmail&nbsp;<\/strong>geralmente j&aacute; vem pr&eacute;-configurado. No entanto, &eacute; preciso se certificar de que o provedor de hospedagem permita que voc&ecirc; gerencie manualmente a op&ccedil;&atilde;o de&nbsp;<strong>servi&ccedil;o do Sendmail<\/strong>.<\/p><p>Por padr&atilde;o, o servi&ccedil;o&nbsp;<strong>Sendmail&nbsp;<\/strong>j&aacute; est&aacute; ativado. No entanto, verifique novamente para ter certeza.<\/p><p><div><p class=\"important\"><strong>Importante! <\/strong>O Titan Mail ativa a fun&ccedil;&atilde;o PHP&nbsp;<strong>mail()&nbsp;<\/strong>por padr&atilde;o. Portanto, voc&ecirc; n&atilde;o pode ativ&aacute;-la ou desativ&aacute;-la no hPanel.<\/p><\/div>\n\n\n\n<\/p><h3 class=\"wp-block-heading\"><strong>Compreendendo os componentes do PHP mail<\/strong><\/h3><p>Para voc&ecirc; entender melhor a fun&ccedil;&atilde;o&nbsp;<strong>mail()&nbsp;<\/strong>do PHP, analisaremos os componentes do script PHP usado na se&ccedil;&atilde;o anterior.<\/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=\"\">ini_set( 'display_errors', 1 );\nerror_reporting( E_ALL );<\/pre><p>As duas primeiras linhas acima permitem que o relat&oacute;rio de erros informe se houve alguma falha na execu&ccedil;&atilde;o do 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=\"\">$from = \"mymail@myawesomedomain.tld\";<\/pre><p>Essa linha cont&eacute;m o endere&ccedil;o de e-mail do remetente. A maioria dos provedores de hospedagem pro&iacute;be a adi&ccedil;&atilde;o de endere&ccedil;os de e-mail aleat&oacute;rios aqui devido ao risco de&nbsp;<a href=\"\/pt\/tutoriais\/ataque-de-email-spoofing\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>falsifica&ccedil;&atilde;o<\/strong><\/a>. Portanto, &eacute; melhor usar um endere&ccedil;o com seu nome de dom&iacute;nio para executar o script com &ecirc;xito.<\/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=\"\">$to = \"recipient@domain.tld\";<\/pre><p>O endere&ccedil;o de e-mail do destinat&aacute;rio &eacute; colocado aqui. Separe os endere&ccedil;os de e-mail com v&iacute;rgulas se quiser enviar v&aacute;rios e-mails.<\/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=\"\">$subject = \"Checking PHP mail\";<\/pre><p>Digite a linha de assunto do e-mail aqui.<\/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=\"\">$message = \"PHP mail works just fine\";<\/pre><p>Aqui, insira o corpo de sua mensagem 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=\"\">$headers = \"From:\" . $from;<\/pre><p>Essa linha geralmente inclui cabe&ccedil;alhos adicionais como&nbsp;<strong>From<\/strong>,&nbsp;<strong>Reply-To&nbsp;<\/strong>e&nbsp;<strong>Cc<\/strong>. Voc&ecirc; pode separ&aacute;-los com o&nbsp;<a href=\"https:\/\/culturadev.com.br\/diferenca-entre-crlf-e-lf-compreendendo-os-fundamentos-da-quebra-de-linha\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>CRLF<\/strong><\/a>.<\/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=\"\">if (mail ($to,$subject,$message,$headers))<\/pre><p>Esse script executa a fun&ccedil;&atilde;o&nbsp;<strong>mail()&nbsp;<\/strong>e verifica se ela foi executada com &ecirc;xito.<\/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=\"\">echo \"The email message was sent.\";<\/pre><p>A mensagem acima ser&aacute; exibida se a fun&ccedil;&atilde;o&nbsp;<strong>mail()&nbsp;<\/strong>for executada com &ecirc;xito.<\/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=\"\">echo \"The email message was not sent.\";<\/pre><p>Como alternativa, voc&ecirc; ver&aacute; esta mensagem se a fun&ccedil;&atilde;o&nbsp;<strong>mail()&nbsp;<\/strong>falhar.<\/p><p>Embora os cabe&ccedil;alhos adicionais sejam opcionais, &eacute; essencial incluir o cabe&ccedil;alho&nbsp;<strong>From&nbsp;<\/strong>ao enviar e-mails. Caso contr&aacute;rio, voc&ecirc; receber&aacute; uma notifica&ccedil;&atilde;o como esta:<\/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=\"\">Warning: mail(): \"sendmail_from\" not set in php.ini or custom \"From:\" header missing.<\/pre><p>Para obter mais informa&ccedil;&otilde;es sobre a fun&ccedil;&atilde;o&nbsp;<strong>Sendmail&nbsp;<\/strong>e seus par&acirc;metros, consulte a&nbsp;<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"https:\/\/www.php.net\/manual\/en\/function.mail.php\"><strong>documenta&ccedil;&atilde;o oficial do PHP<\/strong><\/a>.<\/p><h3 class=\"wp-block-heading\"><strong>Criando um arquivo de teste para o PHP mail<\/strong><\/h3><p>Depois de garantir que o<strong>&nbsp;Sendmail&nbsp;<\/strong>esteja ativo, crie um arquivo de correio PHP dentro do diret&oacute;rio&nbsp;<strong>public_html<\/strong>.<\/p><p>Veja como fazer isso:<\/p><ol class=\"wp-block-list\">\n<li>No&nbsp;<strong>hPanel<\/strong>, navegue at&eacute;&nbsp;<strong>Arquivos<\/strong>&nbsp;&rarr;&nbsp;<strong>&nbsp;Gerenciador de Arquivos&nbsp;<\/strong>para acessar o&nbsp;<strong>Gerenciador de arquivos da Hostinger<\/strong>.<\/li>\n\n\n\n<li>Clique duas vezes na pasta&nbsp;<strong>public_html&nbsp;<\/strong>e selecione o &iacute;cone&nbsp;<strong>Novo arquivo&nbsp;<\/strong>na parte superior. D&ecirc; a esse novo arquivo o nome de&nbsp;<strong>testmail.php&nbsp;<\/strong>e clique em&nbsp;<strong>Criar<\/strong>.<\/li>\n\n\n\n<li>Clique duas vezes em&nbsp;<strong>testmail.php&nbsp;<\/strong>para edit&aacute;-lo. Voc&ecirc; pode usar o c&oacute;digo PHP b&aacute;sico abaixo, mas altere os par&acirc;metros de acordo:<\/li>\n<\/ol><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\nini_set( 'display_errors', 1 );\nerror_reporting( E_ALL );\n$from = \"mymail@myawesomedomain.tld\";\n$to = \"recipient@domain.tld\";\n$subject = \"Checking PHP mail\";\n$message = \"PHP mail works just fine\";\n$headers = \"From:\" . $from;\nif(mail($to,$subject,$message, $headers)) {\necho \"The email message was sent.\";\n} else {\necho \"The email message was not sent.\";\n}\n?&gt;<\/pre><ol start=\"4\" class=\"wp-block-list\">\n<li>Clique em&nbsp;<strong>Salvar e fechar<\/strong>&nbsp;quando terminar.<\/li>\n\n\n\n<li>Envie o e-mail acessando&nbsp;<strong>yourdomain\/testmail.php&nbsp;<\/strong>no seu navegador. Lembre-se de alterar&nbsp;<strong>&ldquo;yourdomain&rdquo;&nbsp;<\/strong>para o dom&iacute;nio usado ao criar&nbsp;<strong>o testmail.php<\/strong>.<\/li>\n<\/ol><h3 class=\"wp-block-heading\"><strong>Enviando e-mails em HTML com PHP<\/strong><\/h3><p>A fun&ccedil;&atilde;o&nbsp;<strong>mail()&nbsp;<\/strong>do PHP tamb&eacute;m pode enviar e-mails em HTML. Esse formato &eacute; altamente personaliz&aacute;vel em compara&ccedil;&atilde;o com uma mensagem de texto simples.<\/p><p>O processo de envio de e-mail em HTML &eacute; o mesmo, mas dessa vez voc&ecirc; deve incluir uma mensagem HTML e cabe&ccedil;alhos de par&acirc;metros adicionais.<\/p><p>Aqui est&aacute; um exemplo de um script b&aacute;sico para enviar um e-mail em HTML:<\/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\nini_set( 'display_errors', 1 );\nerror_reporting( E_ALL );\n$from = \"mymail@myawesomedomain.tld\";\n$to = \"recipient@domain.tld\";\n$subject = \"Checking PHP mail\";\n$message = \"\n&lt;html&gt;\n&lt;head&gt;\n&lt;title&gt;This is a test HTML email&lt;\/title&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n&lt;p&gt;Hi, it's a test email. Please ignore.&lt;\/p&gt;\n&lt;\/body&gt;\n&lt;\/html&gt;\n\";\n\/\/ The content-type header must be set when sending HTML email\n$headers = \"MIME-Version: 1.0\" . \"rn\";\n$headers .= \"Content-type:text\/html;charset=UTF-8\" . \"rn\";\n$headers = \"From:\" . $from;\nif(mail($to,$subject,$message, $headers)) {\necho \"Message was sent.\";\n} else {\necho \"Message was not sent.\";\n}\n?&gt;<\/pre><h2 class=\"wp-block-heading\" id=\"h-como-solucionar-erros-comuns-do-php-mail-e-phpmailer\"><strong>Como solucionar erros comuns do PHP mail e PHPMailer<\/strong><\/h2><p>Agora, falaremos sobre alguns dos problemas mais comuns ao usar a fun&ccedil;&atilde;o&nbsp;<strong>mail()&nbsp;<\/strong>do PHP ou o PHPMailer e como corrigi-los.<\/p><h3 class=\"wp-block-heading\"><strong>Endere&ccedil;o do remetente rejeitado: n&atilde;o pertence ao usu&aacute;rio<\/strong><\/h3><p>Esse erro significa que o servidor n&atilde;o p&ocirc;de autenticar o remetente usando os detalhes fornecidos. Para corrigi-lo, verifique o endere&ccedil;o de e-mail que voc&ecirc; usou para enviar a mensagem e certifique-se de que ele corresponde a um endere&ccedil;o existente.<\/p><p>Al&eacute;m disso, verifique se o&nbsp;<strong>Sender Policy Framework (SPF)&nbsp;<\/strong>est&aacute; ativado. Se voc&ecirc; usa a Hostinger, verifique seu registro SPF acessando o&nbsp;<strong>hPanel&nbsp;<\/strong>e navegando at&eacute;&nbsp;<strong>Emails<\/strong>&rarr;&nbsp;<strong>&nbsp;Contas de e-mail<\/strong>&rarr;&nbsp;<strong>&nbsp;Configura&ccedil;&otilde;es de DNS<\/strong>&nbsp;&rarr;&nbsp;<strong>&nbsp;Gerenciar entrega de e-mail<\/strong>.<\/p><p>Se o registro SPF estiver ativado, ele ser&aacute; mostrado como&nbsp;<strong>Ativo.<\/strong><\/p><h3 class=\"wp-block-heading\"><strong>O Gmail n&atilde;o p&ocirc;de verificar se o dom&iacute;nio.tld enviou esta mensagem<\/strong><\/h3><p>Se voc&ecirc; vir esse aviso ao testar um script de correio PHP, a causa pode ser uma das seguintes:<\/p><ul class=\"wp-block-list\">\n<li><strong>N&atilde;o h&aacute; registro SPF na zona DNS do dom&iacute;nio&nbsp;<\/strong>&ndash; se o registro estiver ausente ou se voc&ecirc; estiver usando nameservers externos, adicione manualmente um novo registro SPF TXT pelo hPanel ou cPanel.<\/li>\n\n\n\n<li><strong>Voc&ecirc; usou detalhes de autentica&ccedil;&atilde;o SMTP inv&aacute;lidos&nbsp;<\/strong>&ndash; certifique-se de usar um endere&ccedil;o de e-mail existente que perten&ccedil;a a voc&ecirc;.<\/li>\n<\/ul><h3 class=\"wp-block-heading\"><strong>O e-mail vai para a pasta de spam<\/strong><\/h3><p>H&aacute; v&aacute;rios motivos pelos quais o PHP mail pode acionar filtros de spam. Algumas das causas mais comuns incluem:<\/p><ul class=\"wp-block-list\">\n<li><strong>Assunto enganoso ou semelhante a spam&nbsp;<\/strong>&ndash; geralmente acontece quando voc&ecirc; usa termos como &ldquo;teste&rdquo; ou &ldquo;urgente&rdquo;. Certifique-se de definir uma inten&ccedil;&atilde;o clara na&nbsp;<strong>linha de assunto<\/strong>.<\/li>\n\n\n\n<li><strong>Endere&ccedil;o de remetente incorreto&nbsp;<\/strong>&ndash; adicionar o endere&ccedil;o errado pode invocar medidas de seguran&ccedil;a para filtrar seu e-mail a fim de evitar falsifica&ccedil;&otilde;es e golpes.<\/li>\n\n\n\n<li><strong>Uso de palavras de gatilho de spam<\/strong>&nbsp;&ndash; remova palavras de spam como &ldquo;uma &oacute;tima oferta&rdquo; e &ldquo;isso n&atilde;o &eacute; spam&rdquo; da sua mensagem para aumentar a credibilidade do seu e-mail.<\/li>\n\n\n\n<li><strong>Sua lista de e-mails n&atilde;o tem um link de cancelamento de inscri&ccedil;&atilde;o&nbsp;<\/strong>&ndash; certifique-se de incluir um bot&atilde;o de cancelamento de inscri&ccedil;&atilde;o para evitar esse problema e aumentar a confian&ccedil;a do leitor.<\/li>\n<\/ul><h3 class=\"wp-block-heading\"><strong>N&atilde;o foi poss&iacute;vel conectar-se ao host SMTP<\/strong><\/h3><p>As vers&otilde;es mais recentes do PHP geralmente t&ecirc;m um comportamento SSL mais r&iacute;gido. Se a fun&ccedil;&atilde;o&nbsp;<strong>mail()&nbsp;<\/strong>do PHP n&atilde;o for executada depois de atualizar seu PHP para a vers&atilde;o mais recente, essa pode ser a causa.<\/p><p>O uso do PHPMailer com alguns provedores de hospedagem tamb&eacute;m costuma disparar esse erro de c&oacute;digo.<\/p><p>Por exemplo, de acordo com o&nbsp;<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/PHPMailer\/PHPMailer\/wiki\/Troubleshooting#php-56-certificate-verification-failure\"><strong>wiki do PHPMailer<\/strong><\/a>, a GoDaddy bloqueia conex&otilde;es SMTP de sa&iacute;da por meio das portas&nbsp;<strong>25<\/strong>,&nbsp;<strong>465&nbsp;<\/strong>e&nbsp;<strong>587&nbsp;<\/strong>para servidores de terceiros, como o Gmail e o Hotmail, exceto os seus pr&oacute;prios. Al&eacute;m disso, ele n&atilde;o oferece suporte &agrave; integra&ccedil;&atilde;o com servidores SMTP de terceiros.<\/p><p>Use o script a seguir para resolver esse erro:<\/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;SMTPOptions = array( \n'ssl' =&gt; array( \n'verify_peer' =&gt; false, \n'verify_peer_name' =&gt; false, \n'allow_self_signed' =&gt; true \n) \n);<\/pre><p><div><p class=\"important\"><strong>Importante! <\/strong>Evite implementar essas altera&ccedil;&otilde;es globalmente no&nbsp;<strong>php.ini<\/strong>, pois isso permite conex&otilde;es inseguras &mdash; um problema de seguran&ccedil;a que o PHP resolveu desde a vers&atilde;o&nbsp;<strong>5.6<\/strong>.<\/p><\/div>\n\n\n\n<\/p><p>Como o SMTP da Hostinger n&atilde;o tem esse problema, considere migrar para o nosso&nbsp;<strong><a href=\"\/pt\/email-profissional\" target=\"_blank\" rel=\"noreferrer noopener\">servi&ccedil;o de e-mail profissional<\/a><\/strong> para obter uma melhor experi&ecirc;ncia.<\/p><figure class=\"wp-block-image size-large\"><a href=\"\/pt\/email-profissional\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"1024\" height=\"300\" src=\"https:\/\/blog.hostinger.io\/pt-tutoriais\/wp-content\/uploads\/sites\/26\/2023\/02\/BR-Email-hosting_in-text-banner-1024x300.png\" alt=\"\" class=\"wp-image-32910\" srcset=\"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2023\/02\/BR-Email-hosting_in-text-banner.png 1024w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2023\/02\/BR-Email-hosting_in-text-banner-300x88.png 300w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2023\/02\/BR-Email-hosting_in-text-banner-150x44.png 150w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2023\/02\/BR-Email-hosting_in-text-banner-768x225.png 768w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2023\/02\/BR-Email-hosting_in-text-banner-1536x450.png 1536w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><h2 class=\"wp-block-heading\" id=\"h-conclusao\"><strong>Conclus&atilde;o<\/strong><\/h2><p>Voc&ecirc; pode enviar e-mails com o PHP usando a fun&ccedil;&atilde;o&nbsp;<strong>mail()&nbsp;<\/strong>ou uma biblioteca de envio de e-mails, como o PHPMailer. A primeira &eacute; adequada para enviar pequenos volumes de mensagens simples baseadas em texto, enquanto a segunda &eacute; melhor para enviar e-mails em massa ou criar formul&aacute;rios de contato.<\/p><p>Voc&ecirc; pode aproveitar a fun&ccedil;&atilde;o PHP mail nativa criando um novo arquivo PHP no diret&oacute;rio&nbsp;<strong>public_html&nbsp;<\/strong>e executando o script usando seu navegador.<\/p><p>Por outro lado, o envio de e-mails com o PHPMailer exige a instala&ccedil;&atilde;o da biblioteca de c&oacute;digo por meio do Composer, a configura&ccedil;&atilde;o de uma conta de e-mail para ela e a defini&ccedil;&atilde;o das configura&ccedil;&otilde;es de SMTP da sua hospedagem.<\/p><p>Neste tutorial, falamos sobre como instalar o PHPMailer, como criar um script de teste e configurar de um formul&aacute;rio de contato simples. Tamb&eacute;m abordamos o envio de e-mails com a fun&ccedil;&atilde;o&nbsp;<strong>mail()&nbsp;<\/strong>do PHP e a solu&ccedil;&atilde;o de erros comuns durante o processo de envio.<\/p><p>Esperamos que este tutorial tenha sido &uacute;til para voc&ecirc;. Se tiver mais perguntas, deixe-as na se&ccedil;&atilde;o de coment&aacute;rios abaixo. Boa sorte!<\/p><h2 class=\"wp-block-heading\" id=\"h-mail-php-perguntas-frequentes\"><strong>Mail PHP: perguntas frequentes<\/strong><\/h2><div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list \">\n<div id=\"faq-question-6944141b0365f\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Posso enviar e-mails do PHPMailer para o Gmail ou outros servi&ccedil;os de e-mail?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Isso depende de seu provedor de hospedagem. Com a GoDaddy, voc&ecirc; n&atilde;o pode enviar e-mails para caixas de entrada que implementam os protocolos de autentica&ccedil;&atilde;o de e-mail SPF e DKIM, como Gmail, Yahoo e Hotmail. A Hostinger, por outro lado, n&atilde;o tem essa limita&ccedil;&atilde;o. Entre em contato com seu provedor de hospedagem para saber mais sobre suas configura&ccedil;&otilde;es de SMTP e se ele oferece suporte ao PHPMailer com servidores SMTP de terceiros.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-6944141b03662\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Como validar meus endere&ccedil;os antes de usar a fun&ccedil;&atilde;o mail() ou o PHPMailer para enviar e-mails?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Voc&ecirc; pode usar a fun&ccedil;&atilde;o&nbsp;filter_var()&nbsp;e passar o endere&ccedil;o de e-mail para o filtro&nbsp;FILTER_VALIDATE_EMAIL. Esse filtro verificar&aacute; a validade do e-mail, garantindo que ele n&atilde;o contenha caracteres n&atilde;o suportados ou espa&ccedil;os em branco.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Se voc&ecirc; tem uma empresa, provavelmente j&aacute; sabe que ter uma conta de e-mail profissional &eacute; importante para aumentar a credibilidade e a confian&ccedil;a para com seus clientes. Para isso, voc&ecirc; precisa&nbsp;comprar um dom&iacute;nio&nbsp;e configurar seus endere&ccedil;os comerciais em um cliente de e-mail ou servidor. E existe um detalhe: caso seu site ou web app [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/pt\/tutoriais\/como-enviar-emails-usando-php\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":356,"featured_media":49338,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"rank_math_title":"Como enviar e-mails do seu servidor com PHP mail e PHPMailer","rank_math_description":"Aprenda a utilizar a fun\u00e7\u00e3o mail do PHP para enviar e-mails de forma eficiente. Confira nosso guia pr\u00e1tico e comece a dominar essa ferramenta!","rank_math_focus_keyword":"mail php","footnotes":""},"categories":[4931],"tags":[4865],"class_list":["post-5734","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-email","tag-php"],"hreflangs":[{"locale":"pt-BR","link":"https:\/\/www.hostinger.com\/br\/tutoriais\/como-enviar-emails-usando-php","default":0},{"locale":"pt-PT","link":"https:\/\/www.hostinger.com\/pt\/tutoriais\/como-enviar-emails-usando-php","default":0}],"acf":[],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/posts\/5734","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/users\/356"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/comments?post=5734"}],"version-history":[{"count":29,"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/posts\/5734\/revisions"}],"predecessor-version":[{"id":49337,"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/posts\/5734\/revisions\/49337"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/media\/49338"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/media?parent=5734"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/categories?post=5734"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/tags?post=5734"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}