PHP: Envio de e-mail com Autenticação SMTP
PHP: Envio de e-mail com Autenticação SMTP

Olá Pessoal, há algum tempo atrás eu escrevi artigos sobre envios de e-mail com o PHP, porém ambos utilizavam a função mail() do próprio PHP, e sabemos que em alguns servidores (hospedagens) os admins bloqueiam o envio com essa função, para evitar envio de e-mails em massa (spam), só permitindo assim o envio com autenticação no servidor SMTP, o que é claro, possibilita o admin ter um controle dos envios feitos.

Bom, a grande maioria dessas hospedagens que tem o sistema de bloqueio a função mail() do PHP oferecem alternativas, com scripts próprios na grande maioria, mas ai vem um problema, se estiver utilizando um script deles, seja qual for, caso precise mudar de hospedagem, seja lá por qual motivo, você terá de mudar todos os scripts que enviam e-mails no site, e isso é um grande problema, ainda mais se o site for grande e tiver muitas páginas que fazem isso. Porém há uma solução para isso, chama-se PHPMailer, que é uma classe open source desenvolvida pela Codeworxtech que permite fazer o envio de e-mails autenticados.

Vamos falar agora do PHPMailer, como disse é uma classe em PHP desenvolvida pela Codeworxtech para trabalhar em praticamente em qualquer ambiente, sempre lembrando que existem alguns pré-requisitos, mas respeitando isso, você poderá fazer envio de e-mails com arquivos anexados, com código HTML ou só texto, multiplos destinatários, envio com cópia, entre outras funções interessantes, e é claro, essa função permite diferentes tipos de envio, no nosso caso aqui vou mostrar como se faz via autenticação no servidor SMTP, mas você pode utilizar inclusive com a função mail() do PHP, sendmail ou QMail.

Bom, vamos ao código, está bem explicado e comentado.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
< ?
require("class.phpmailer.php"); // Chama o arquivo da classe

$mail = new PHPMailer(); // Cria a instância
$mail->SetLanguage("br"); // Define o Idioma
$mail->CharSet = "iso-8859-1"; // Define a Codificação
$mail->IsSMTP(); // Define que será enviado por SMTP
$mail->Host = "smtp.meusite.com.br"; // Servidor SMTP
$mail->SMTPAuth = true; // Caso o servidor SMTP precise de autenticação
$mail->Username = "fulano@meusite.com.br"; // Usuário ou E-mail para autenticação no SMTP
$mail->Password = "12345678"; // Senha do E-mail
$mail->IsHTML(true); // Enviar como HTML
$mail->From = "email@dominio.com.br"; // Define o Remetente
$mail->FromName = "Roberto Carlos"; // Nome do Remetente
$mail->AddAddress("teste@teste.com.br","Teste dos Santos"); // Email e Nome do destinatário

// Estes campos a seguir são opcionais, caso não queira usar, remova-os
$mail->AddReplyTo("email@dominio.com.br","Information"); // E-mail de Resposta
$mail->AddCC("outroemail@dominio.com.br";"Nome"); // Envia Cópia
$mail->AddBCC("meuemail@dominio.com.br";"Nome"); // Envia Cópia Oculta

// Se você quiser anexar aquivos, pode utilizar os comandos abaixo, caso não vá enviar anexos, remova os comandos
$mail->AddAttachment("/var/tmp/file.tar.gz"); // Arquivo Anexo 1
$mail->AddAttachment("/tmp/image.jpg","new.jpg"); // Arquivo Anexo 2

// Configuração de Assuntos e Corpo do E-mail
$mail->Subject = "Assunto do E-mail"; // Define o Assunto
$mail->Body = "Corpo da Mensagem em formato HTML"; // Corpo da mensagem em formato HTML
// Este campo abaixo é Opcional
$mail->AltBody = "Corpo da Mensagem somente Texto, sem formatações"; // Você pode mandar um e-mail somente texto, caso o leitor de e-mails da pessoa não leia no formato HTML

// Fazemos o envio do email
if(!$mail->Send()){
    print "Ocorreu um erro no envio da Mensagem.<br />";
    print "Erro: ".$mail->ErrorInfo;
}else{
    print "Sei e-mail foi enviado com Sucesso !!";
}
?>

.

Bom, para fazer o download dessa classe, basta acessar o endereço a seguir:
http://sourceforge.net/projects/phpmailer/

Se quiser baixar este script, clique aqui.

08 de outubro de 2008
Categoria(s): HTML e CSS, PHP
Faça sua parte, divulgue o Post !!
  • Twitter
  • Google Buzz
  • Digg
  • Delicious
  • Stumbleupon
  • Technorati
  • Reddit
  • Facebook
  • LinkedIn
  • E-mail
Você pode gostar de ver:
Sobre o Autor
Rodrigo Luis
Trabalho com desenvolvimento WEB há cerca de 10 anos, e com programação em PHP há 7~8 anos. Tenho conhecimento em diversas linguagens, mas meu domínio é especifico em PHP, JavaScript, CSS e HTML/XHTML, tenho algum conhecimento em MySQL. Além disso é claro, tenho domínio sobre ferramentas gráficas como Adobe Fireworks e Photoshop, e CorelDRAW. Sou um fã de Tecnologia de tudo que é tipo, seja relacionada a internet ou mesmo a tecnologia de hardware. Minha formação acadêmica (cursando) é na área de Design, mas estou rumando para a área criativa da Publicidade e Propaganda.
Exibir Pingbacks/Trackbacks
Comentários (0)
Exibir Comentários
Pingbacks/Trackbacks (0)
  • Ainda não há comentários, seja você o primeiro !!

  • Este post não possui Pingbacks/Trackbacks

Escreva um Comentário

Blog webARTz: Onde a WEB encontra a ARTE

2008~2010 Blog webARTz // Powered by Wordpress // Hospedado na KingHost // Desenvolvido por: Agência BBD
Fechar
Voltar ao Topo
Atenção !!
Nosso blog passou por grandes mudanças e melhorias na estrutura, recursos e conteúdo.

Estas alterações podem causar dificuldade na navegação, por este motivo alguns bugs e/ou problemas podem ocorrer. Caso isso ocorra pedimos que você nos notifique pelo "Fale Conosco" aqui do blog.

No momento estamos trabalhando para o perfeito funcionamento
do blog.

Obrigado !!
Fechar
Abrir Aviso