O envio de e-mails é um assunto complicado, porque as medidas anti-spam estão ficando cada vez mais agressivas. Eu recomendo enviar e-mails usando SMTP e um provedor de terceiros. Na maioria das vezes, você já tem uma maneira de enviar e receber e-mails para o seu projeto (ou seja, incluído no seu domínio ou hospedagem na web). Vou explicar o "como" e "porquê" abaixo.
Como enviar e-mails usando o SSMTP?
Múltiplas escolhas:
- ssmtp .
Esta é uma pequena ferramenta que expõe um binário "sendmail" à função mail () do PHP. Instale-o e configure-o usando o arquivo /etc/ssmtp/ssmtp.conf. Aqui está um exemplo para enviar e-mails usando SSMTP e SSL:
mailhub=smtp.yourprovider.com:465
hostname=yourdomain.com
AuthUser=yourusername
AuthPass=yourpassword
FromLineOverride=NO
UseTLS=yes
Ao enviar um e-mail usando a função mail (), o php chamará o binário do sendmail e o ssmtp entregará o e-mail de forma transparente usando o SMTP.
- Postfix / Exim / Sendmail
Você pode configurar um servidor de e-mail padrão para o seu sistema e configurá-lo para retransmitir seus e-mails através de um provedor de terceiros. Este é um pouco mais complexo que o ssmtp, mas permite aceitar e-mails na porta SMTP do host local 25. Basta procurar o google relay e o nome do seu servidor de e-mail.
- PHPMailer
Quando você cria seu próprio projeto e pode modificar seu código, você deve usar a classe PHPMailer, porque enviar um e-mail com conteúdo html, anexo ou para vários remetentes é complicado usando a função de correio simples e absolutamente não recomendado para iniciantes .
O PHPMailer pode enviar e-mails usando o próprio SMTP ou pode ser usado junto com a ferramenta ssmtp.
Por que o envio de e-mails é complicado?
Como eu disse antes, as medições anti-spam estão ficando cada vez mais agressivas. Para fazer isso direito, você precisa configurar um daemon de mailer como postfix, exim ou sendmail e configurá-lo corretamente. ou seja, você precisa ter certeza de que ninguém pode usar seu servidor de e-mail para enviar e-mails sem autenticação. você precisa configurar o registro MX do seu domínio para apontar para o ip dos seus servidores, porque outros servidores de email verificam o ip do remetente usando o registro MX. Pode ser necessário configurar o DKIM (DomainKeys Identified Mail) para impedir que você envie e-mails como spam.
Se você configurou seu servidor e domínio corretamente, você não terminou. A diversão só começa.
Se você começar a enviar e-mails para diferentes provedores de e-mail, alguns destinatários poderão marcar seus e-mails como spam. Isso acontece não apenas em boletins informativos e anúncios, mas algumas pessoas também estão marcando confirmações automáticas de registro como spam. Se um número de seus e-mails tiver sido marcado com spam em um grande provedor de e-mail, como microsoft, google ou GMX, eles bloquearão seu endereço IP ou o classificarão como spam. Então você tem que se inscrever com a Microsoft e outros e investigar a remoção do seu endereço IP. Esta pode ser uma tarefa demorada.
também pode acontecer que seu projeto seja invadido e seu ip esteja enviando milhões de e-mails. Se isso aconteceu, você pode ter dificuldade em limpar sua reputação de IP ruim. você deve ter configurado o envio de limites para limitar o impacto de hackers que abusam da sua função mail ().
um provedor de terceiros fará tudo isso por você. eles irão configurar o servidor de e-mail corretamente, eles manterão a reputação do ip ativa e também bloquearão o envio de spam.