Hoje os provedores de e-mails implantaram algoritmos dos mais diversos tipos que tem como objetivo bloquear mensagens de SPAM. Sendo assim, seu script deverá enviar o e-mail com todas as informações corretas, ou seja, a ausência de qualquer informação requerida pode fazer com que sua mensagem não seja entregue ou chegue ao destino com atraso.
Como fazer seu e-mail chegar ao destino:
Remetente (campo From): Este sempre deve ser um e-mail de seu domínio, por exemplo: O site “domínio.com.br” deve enviar e-mails como remetente “nome@domínio.com.br”.
Se uma pessoa visita seu site e preencher o formulário de contato dele, possivelmente você o programou para enviar como remetente o e-mail dessa pessoa, mude para o remetente “nome@domínio_do_seu_site.com.br” e informe o e-mail da pessoa que preencheu o formulário no campo “Responder Para” (reply-to), assim você conseguirá responder o e-mail para esta pessoa da mesma forma caso precisar.
Return-Path: Deve ser o mesmo e-mail do remetente, pois além do provedor verificá-lo, ele será o e-mail utilizado pelo mesmo provedor para alegar quando a caixa postal está lotada ou quando o e-mail não existe. O e-mail do return-path é utilizado pelo próprio servidor SMTP também para enviar a notificação de quando o domínio do e-mail de destino não existe.
Mesmo que e-mail esteja dentro dos padrões, alguns provedores poderão barrar suas mensagens e/ou considerá-las SPAM’s por conta de palavras que estejam contidas no e-mail, IP ou Range de IP do servidor de origem, remetente suspeito, muitos destinatários em uma só mensagem, tipos de arquivos anexados e diversos outros fatores. Portanto, faça envio de e-mails para caixas postais de diversos provedores e consulte-as em seguida, assim fica mais fácil verificar onde está o problema e solicitar ao suporte responsável sua resolução.