PUBLICIDADE
Este artigo tem nota
9,75

Autor

everton3x

Everton da Rosa

membro deste janeiro de 2007

Enquete

Que área irá se desenvolver mais na web nos próximos anos?
PUBLICIDADE

quinta-feira, 15 de outubro de 2009

Enviar e-mail usando Pear PHP com autenticação SMTP


Devido ao grande número de spams que são enviados diariamente, gerando um grande consumo de recursos dos servidores, além da frustração e perda de tempo dos usuários finais, os servidores de hospedagem estão cada vez mais apertando o cerco contra esse tipo de prática.

Em função disso, é cada vez maior o número de servidores de hospedagem que requerem autenticação para envio de e-mails com scripts.

Pensando nisso, criei esse código para demonstrar como utilizar o PEAR do PHP para autenticar num servidor SMTP e enviar e-mails.
<?
##—————————————————
## Envio de Emails pelo SMTP Autenticado usando PEAR
##—————————————————
# Mais detalhes sobre o PEAR:
# http://pear.php.net/
#
# Mais detalhes sobre o PEAR Mail:
# http://pear.php.net/manual/en/package.mail.mail-mime.php
##—————————————————

# Faz o include do PEAR Mail.
include (”Mail.php”);

# E-mail de destino. Caso seja mais de um destino, crie um array de e-mails.
# *OBRIGATÓRIO*
$recipients = ‘ endereco@mail.com.br’;

# Cabeçalho do e-mail.
$headers =
array (
‘From’ => ‘ endereco@mail.com.br’, # O ‘From’ é *OBRIGATÓRIO*.
‘To’ => ‘ DESTINATARIO@DominioDestinatario.com’,
‘Subject’ => ‘TITULO DO E-MAIL’
);

# Utilize esta opção caso deseje definir o e-mail de resposta
# $headers['Reply-To'] = ‘ EMailDeResposta@DominioDeResposta.com’;

# Utilize esta opção caso deseje definir o e-mail de retorno em caso de erro de envio
# $headers['Errors-To'] = ‘ endereco@mail.com.br’;

# Utilize esta opção caso deseje definir a prioridade do e-mail
# $headers['X-Priority'] = ‘3&#8242;; # 1 UrgentMessage, 3 Normal

# Corpo da Mensagem
$body = ‘Escreva aqui o texto do seu e-mail’;

# Parâmetros para o SMTP. *OBRIGATÓRIO*
$params =
array (
‘auth’ => true, # Define que o SMTP requer autenticação.
‘host’ => ’smtp.dominio.com.br’, # Servidor SMTP
‘username’ => ‘endereco@mail.com.br’, # Usuário do SMTP
‘password’ => ‘12345&#8242; # Senha do seu MailBox. );

# Define o método de envio! queremos ’smtp’. *OBRIGATÓRIO*
$mail_object =& Mail::factory(’smtp’, $params);

# Envia o email. Se não ocorrer erro, retorna TRUE caso contrário, retorna um # objeto PEAR_Error. Para ler a mensagem de erro, use o método ‘getMessage()’.
$result = $mail_object->send($recipients, $headers, $body);
if (PEAR::IsError($result)) {
echo “ERRO ao tentar enviar o email. (” . $result->getMessage(). “)”;
} else {
echo “Email enviado com sucesso!”;

} ?>

Sim   Não   Este artigo foi útil para você?
NotaComentário
10
guiski comentou em 7/11/2011

Excelent

Script bem feito!
10
tonh0 comentou em 7/4/2011

Muito Bom

Gostei do post continue assim.
10
testinha comentou em 22/12/2010

Muito Bom

Excelente!!!
9
brunaluxo comentou em 13/11/2010

Muito bom

deu certinho adorei.
10
mrc comentou em 18/6/2010

Muito bom

Parabéns, excelente.
9
zeleiria comentou em 24/5/2010

Dúvida

Excelente post! Parabéns! Uma dúvida: instalei o PEAR no Win XP. Porém dentro da pasta "c:\php5\" os ficheiros e pastas que foram criados ao instalar o PEAR, não encontro nenhuma com o nome "Mail.php" para poder fazer o seu include. Como resolver? Abraço
10
ergura comentou em 29/12/2009

Parabéns

utilizei esse código outro dia funcionou direitinho... parabéns pelo post.
10
usertop comentou em 10/11/2009

Show

Show de bola o tutorial seus totoriais de PHP são nota 10 parabens
Regras:
Os comentários seguem as seguintes regras:
  • Todos os comentários são enviados por membros cadastrados no site.
  • A pontuação de comentários de conteúdo do próprio membro não serão computados.
  • Os comentários serão pré-aprovados, porém a equipe do site revisará o conteúdo de todos os comentários podendo ser invalidados (inclusive a pontuação).
  • Os comentários precisam ter, obrigatóriamente, coerência sobre o conteúdo que será comentado.
  • O membro que atingir 5 comentários invalidados não poderá mais comentar dentro do site. Com isso o membro não poderá mais ganhar pontos com comentários.
  • Há um limite de 10 comentários por dia para cada membro.
  • Qualquer comentário após ter sido publicado poderá ser retirado através da opção ( denunciar)

Comente

     (ainda não tem cadastro? clique aqui!)


Máximo de 30 caracteres

Máximo de 255 caracteres
 

© 2006-2013 R&W Informática Ltda. - Todos os direitos reservados. - Política de Privacidade | Mapa do Site