Categorias

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.

[email protected]’, # O ‘From’ é *OBRIGATÓRIO*.
‘To’ => ‘ [email protected]’,
‘Subject’ => ‘TITULO DO E-MAIL’
);

# Utilize esta opção caso deseje definir o e-mail de resposta
# $headers['Reply-To'] = ‘ [email protected]’;

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

# Utilize esta opção caso deseje definir a prioridade do e-mail
# $headers['X-Priority'] = ‘3′; # 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’ => ‘[email protected]’, # Usuário do SMTP
‘password’ => ‘12345′ # 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!”;

} ?>