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!”; } ?>