Você está 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 – via SMTP – com facilidade.
O PHPMailer é uma classe pronta para envio de e-mails através do PHP via conexão SMTP ou POP3 muito utilizado por todo o mundo. Seu método de envio é largamente recomendado e é bem melhor do que o envio do mail() que á função padrão do PHP.
Nota: Nesse tutorial usarei a versão 2.3 (
download) do
PHPMailer que é a última versão até agora.
Faça o download, descompacte o arquivo e coloque os arquivos class.phpmailer.php eclass.smtp.php em uma pasta chamada phpmailer dentro do seu site.
Agora, vamos ao script que faz o envio do e-mail:
04 | require("phpmailer/class.phpmailer.php"); |
07 | $mail = new PHPMailer(); |
12 | $mail->Host = "smtp.dominio.net"; |
19 | $mail->From = "seumail@dominio.net"; |
20 | $mail->FromName = "Joãozinho"; |
24 | $mail->AddAddress('fulano@dominio.com.br', 'Fulano da Silva'); |
25 | $mail->AddAddress('ciclano@site.net'); |
36 | $mail->Subject = "Mensagem Teste"; |
37 | $mail->Body = "Este é o corpo da mensagem de teste, em <b>HTML</b>! <br /> <img src="http: |
38 | $mail->AltBody = "Este é o corpo da mensagem de teste, em Texto Plano! \r\n <img src="http: |
45 | $enviado = $mail->Send(); |
48 | $mail->ClearAllRecipients(); |
49 | $mail->ClearAttachments(); |
53 | echo "E-mail enviado com sucesso!"; |
55 | echo "Não foi possível enviar o e-mail.<br /><br />"; |
56 | echo "<b>Informações do erro:</b> <br />" . $mail->ErrorInfo; |
Algumas linhas de código estão comentadas porque são opcionais e dependem também da necessidade de quem vai usar o script. Logo no começo, na parte dos dados do servidor você tem a opção de configurar o login do servidor SMTP caso seja necessário.
Repare que, na parte na qual definimos a mensagem e o assunto do e-mail, temos duas formas de “corpo de e-mail”: formato HTML e formato Texto Plano… É bom que você também defina o texto plano (que nada mais é do que um texto sem as tags HTML parecido com o conteúdo de um arquivo .txt) por que muitos leitores de e-mail não têm suporte a e-mails em HTML (seja por configuração do usuário ou por falta de funcionalidade mesmo).
Deixei também um exemplo pronto de como anexar um arquivo ao seu e-mail. O caminho do arquivo (primeiro arquivo) está nos moldes de um servidor rodando localmente… Mas ele pode ser relativo se você estiver usando o script num servidor externo. O segundo argumento é o ‘novo’ nome do arquivo, mas é opcional.