{"id":2791,"date":"2014-07-31T03:19:28","date_gmt":"2014-07-31T03:19:28","guid":{"rendered":"http:\/\/www.deuzebranaweb.com.br\/?p=2791"},"modified":"2014-07-31T03:19:28","modified_gmt":"2014-07-31T03:19:28","slug":"enviar-e-mails-pelo-php-usando-o-phpmailer","status":"publish","type":"post","link":"https:\/\/blog.deuzebranaweb.com.br\/index.php\/2014\/07\/31\/enviar-e-mails-pelo-php-usando-o-phpmailer\/","title":{"rendered":"Enviar e-mails pelo PHP usando o PHPMailer"},"content":{"rendered":"<p>Voc\u00ea est\u00e1 tendo problemas para enviar e-mails pelo seu script PHP? Seus problemas acabaram!<\/p>\n<p>Hoje vou ensinar como usar o PHPMailer para enviar os e-mails do seu site \u2013 via SMTP \u2013 com facilidade.<\/p>\n<p>O PHPMailer \u00e9 uma classe pronta para envio de e-mails atrav\u00e9s do PHP via conex\u00e3o SMTP ou POP3 muito utilizado por todo o mundo. Seu m\u00e9todo de envio \u00e9 largamente recomendado e \u00e9 bem melhor do que o envio do mail() que \u00e1 fun\u00e7\u00e3o padr\u00e3o do PHP.<\/p>\n<p>Primeiro voc\u00ea precisa fazer o download da \u00faltima vers\u00e3o dele, v\u00e1 nesse endere\u00e7o e baixe a sua vers\u00e3o ou v\u00e1 direto ao site do script.<\/p>\n<p>Nota: Nesse tutorial usarei a vers\u00e3o 2.3 (download) do PHPMailer que \u00e9 a \u00faltima vers\u00e3o at\u00e9 agora.<\/p>\n<p>Fa\u00e7a o download, descompacte o arquivo e coloque os arquivos class.phpmailer.php e class.smtp.php em uma pasta chamada phpmailer dentro do seu site.<\/p>\n<p>Agora, vamos ao script que faz o envio do e-mail:<\/p>\n<p>01<br \/>\n&lt; ?php<br \/>\n02<\/p>\n<p>03<br \/>\n\/\/ Inclui o arquivo class.phpmailer.php localizado na pasta phpmailer<br \/>\n04<br \/>\nrequire(&#8220;phpmailer\/class.phpmailer.php&#8221;);<br \/>\n05<\/p>\n<p>06<br \/>\n\/\/ Inicia a classe PHPMailer<br \/>\n07<br \/>\n$mail = new PHPMailer();<br \/>\n08<\/p>\n<p>09<br \/>\n\/\/ Define os dados do servidor e tipo de conex\u00e3o<br \/>\n10<br \/>\n\/\/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=<br \/>\n11<br \/>\n$mail-&gt;IsSMTP(); \/\/ Define que a mensagem ser\u00e1 SMTP<br \/>\n12<br \/>\n$mail-&gt;Host = &#8220;smtp.dominio.net&#8221;; \/\/ Endere\u00e7o do servidor SMTP<br \/>\n13<br \/>\n\/\/$mail-&gt;SMTPAuth = true; \/\/ Usa autentica\u00e7\u00e3o SMTP? (opcional)<br \/>\n14<br \/>\n\/\/$mail-&gt;Username = &#8216;seumail@dominio.net&#8217;; \/\/ Usu\u00e1rio do servidor SMTP<br \/>\n15<br \/>\n\/\/$mail-&gt;Password = &#8216;senha&#8217;; \/\/ Senha do servidor SMTP<br \/>\n16<\/p>\n<p>17<br \/>\n\/\/ Define o remetente<br \/>\n18<br \/>\n\/\/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=<br \/>\n19<br \/>\n$mail-&gt;From = &#8220;seumail@dominio.net&#8221;; \/\/ Seu e-mail<br \/>\n20<br \/>\n$mail-&gt;FromName = &#8220;Jo\u00e3ozinho&#8221;; \/\/ Seu nome<br \/>\n21<\/p>\n<p>22<br \/>\n\/\/ Define os destinat\u00e1rio(s)<br \/>\n23<br \/>\n\/\/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=<br \/>\n24<br \/>\n$mail-&gt;AddAddress(&#8216;fulano@dominio.com.br&#8217;, &#8216;Fulano da Silva&#8217;);<br \/>\n25<br \/>\n$mail-&gt;AddAddress(&#8216;ciclano@site.net&#8217;);<br \/>\n26<br \/>\n\/\/$mail-&gt;AddCC(&#8216;ciclano@site.net&#8217;, &#8216;Ciclano&#8217;); \/\/ Copia<br \/>\n27<br \/>\n\/\/$mail-&gt;AddBCC(&#8216;fulano@dominio.com.br&#8217;, &#8216;Fulano da Silva&#8217;); \/\/ C\u00f3pia Oculta<br \/>\n28<\/p>\n<p>29<br \/>\n\/\/ Define os dados t\u00e9cnicos da Mensagem<br \/>\n30<br \/>\n\/\/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=<br \/>\n31<br \/>\n$mail-&gt;IsHTML(true); \/\/ Define que o e-mail ser\u00e1 enviado como HTML<br \/>\n32<br \/>\n\/\/$mail-&gt;CharSet = &#8216;iso-8859-1&#8217;; \/\/ Charset da mensagem (opcional)<br \/>\n33<\/p>\n<p>34<br \/>\n\/\/ Define a mensagem (Texto e Assunto)<br \/>\n35<br \/>\n\/\/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=<br \/>\n36<br \/>\n$mail-&gt;Subject = &#8220;Mensagem Teste&#8221;; \/\/ Assunto da mensagem<br \/>\n37<br \/>\n$mail-&gt;Body = &#8220;Este \u00e9 o corpo da mensagem de teste, em <b>HTML<\/b>!<br \/>\n<img decoding=\"async\" class=\"wp-smiley\" src=\"http:\/\/i2.wp.com\/blog.thiagobelem.net\/wp-includes\/images\/smilies\/icon_smile.gif?w=625\" alt=\":)\" width=\"15\" height=\"15\" \/> &#8220;;<br \/>\n38<br \/>\n$mail-&gt;AltBody = &#8220;Este \u00e9 o corpo da mensagem de teste, em Texto Plano! \\r\\n <img decoding=\"async\" class=\"wp-smiley\" src=\"http:\/\/i2.wp.com\/blog.thiagobelem.net\/wp-includes\/images\/smilies\/icon_smile.gif?w=625\" alt=\":)\" width=\"15\" height=\"15\" \/> &#8220;;<br \/>\n39<\/p>\n<p>40<br \/>\n\/\/ Define os anexos (opcional)<br \/>\n41<br \/>\n\/\/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=<br \/>\n42<br \/>\n\/\/$mail-&gt;AddAttachment(&#8220;c:\/temp\/documento.pdf&#8221;, &#8220;novo_nome.pdf&#8221;); \/\/ Insere um anexo<br \/>\n43<\/p>\n<p>44<br \/>\n\/\/ Envia o e-mail<br \/>\n45<br \/>\n$enviado = $mail-&gt;Send();<br \/>\n46<\/p>\n<p>47<br \/>\n\/\/ Limpa os destinat\u00e1rios e os anexos<br \/>\n48<br \/>\n$mail-&gt;ClearAllRecipients();<br \/>\n49<br \/>\n$mail-&gt;ClearAttachments();<br \/>\n50<\/p>\n<p>51<br \/>\n\/\/ Exibe uma mensagem de resultado<br \/>\n52<br \/>\nif ($enviado) {<br \/>\n53<br \/>\necho &#8220;E-mail enviado com sucesso!&#8221;;<br \/>\n54<br \/>\n} else {<br \/>\n55<br \/>\necho &#8220;N\u00e3o foi poss\u00edvel enviar o e-mail.<\/p>\n<p>&#8220;;<br \/>\n56<br \/>\necho &#8220;<b>Informa\u00e7\u00f5es do erro:<\/b><br \/>\n&#8221; . $mail-&gt;ErrorInfo;<br \/>\n57<br \/>\n}<br \/>\n58<\/p>\n<p>59<br \/>\n?&gt;<br \/>\nAlgumas linhas de c\u00f3digo est\u00e3o comentadas porque s\u00e3o opcionais e dependem tamb\u00e9m da necessidade de quem vai usar o script. Logo no come\u00e7o, na parte dos dados do servidor voc\u00ea tem a op\u00e7\u00e3o de configurar o login do servidor SMTP caso seja necess\u00e1rio.<\/p>\n<p>Repare que, na parte na qual definimos a mensagem e o assunto do e-mail, temos duas formas de \u201ccorpo de e-mail\u201d: formato HTML e formato Texto Plano\u2026 \u00c9 bom que voc\u00ea tamb\u00e9m defina o texto plano (que nada mais \u00e9 do que um texto sem as tags HTML parecido com o conte\u00fado de um arquivo .txt) por que muitos leitores de e-mail n\u00e3o t\u00eam suporte a e-mails em HTML (seja por configura\u00e7\u00e3o do usu\u00e1rio ou por falta de funcionalidade mesmo).<\/p>\n<p>Deixei tamb\u00e9m um exemplo pronto de como anexar um arquivo ao seu e-mail. O caminho do arquivo (primeiro arquivo) est\u00e1 nos moldes de um servidor rodando localmente\u2026 Mas ele pode ser relativo se voc\u00ea estiver usando o script num servidor externo. O segundo argumento \u00e9 o \u2018novo\u2019 nome do arquivo, mas \u00e9 opcional.<\/p>\n<p>Bom\u2026 Espero que tenham entendido o script e consigam us\u00e1-lo. Qualquer d\u00favida \u00e9 s\u00f3 falar!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Voc\u00ea est\u00e1 tendo problemas para enviar e-mails pelo seu script PHP? Seus problemas acabaram! Hoje vou ensinar como usar o PHPMailer para enviar os e-mails do seu site \u2013 via SMTP \u2013 com facilidade. O PHPMailer \u00e9 uma classe pronta para envio de e-mails atrav\u00e9s&#8230;<\/p>\n","protected":false},"author":2,"featured_media":3763,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_angie_page":false,"page_builder":"","footnotes":""},"categories":[6],"tags":[],"class_list":["post-2791","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/blog.deuzebranaweb.com.br\/index.php\/wp-json\/wp\/v2\/posts\/2791","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.deuzebranaweb.com.br\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.deuzebranaweb.com.br\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.deuzebranaweb.com.br\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.deuzebranaweb.com.br\/index.php\/wp-json\/wp\/v2\/comments?post=2791"}],"version-history":[{"count":0,"href":"https:\/\/blog.deuzebranaweb.com.br\/index.php\/wp-json\/wp\/v2\/posts\/2791\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.deuzebranaweb.com.br\/index.php\/wp-json\/wp\/v2\/media\/3763"}],"wp:attachment":[{"href":"https:\/\/blog.deuzebranaweb.com.br\/index.php\/wp-json\/wp\/v2\/media?parent=2791"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.deuzebranaweb.com.br\/index.php\/wp-json\/wp\/v2\/categories?post=2791"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.deuzebranaweb.com.br\/index.php\/wp-json\/wp\/v2\/tags?post=2791"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}