web-dev-qa-db-fra.com

Pourquoi un courrier électronique ne répondant pas aux spécifications RFC2822?

J'envoie un courrier électronique à un maximum de 14 utilisateurs de gmail. Ils font partie d'un petit groupe d'abonnés payants. Dans un envoi à chacun des 14 1 ou 2 sont normalement retournés en disant

Raison: hôte distant dit: 550 5.7.1 Spécifications RFC 2822 pour plus d'informations

Ce n'est pas un courriel envoyé au même membre à chaque fois et semble aléatoire. Est-ce que quelqu'un a déjà expérimenté cela auparavant?

3
user22988

J'ai envoyé un courrier électronique à partir de l'interface Web standard, puis j'ai déterminé qu'il s'agissait du formulaire. En regardant dans le code, il y avait 2 lignes causant des erreurs

$ headers. = "To: $ nameto". $ newLine;

$ headers. = "De: $ namefrom". $ newLine;

Au fur et à mesure que ces éléments étaient ajoutés à l'en-tête, ils étaient dupliqués et gmail ne l'aimait pas.

1
user22988

Vous n'êtes probablement pas autorisé à envoyer des courriers électroniques à partir de ce système pour le domaine que vous essayez d'utiliser dans l'adresse "De" par SPF . Le serveur Web doit utiliser le serveur de messagerie autorisé du domaine en tant que relais intelligent.

Beaucoup de systèmes ne donnent pas de messages d'erreur utiles lorsqu'ils pensent que vous êtes un spammeur, car cela indique simplement à ce dernier ce qu'il doit corriger pour que ses e-mails soient acheminés.

Il est possible que les e-mails qui ressemblent à ce qu'ils soient en train d'être envoyés soient réellement envoyés aux dossiers de courrier indésirable des destinataires, et l'échec aléatoire consiste à vous avertir. Par conséquent, si vous faites une erreur, vous devez corriger le message. problème.

(Et cela aurait probablement été mieux de demander à Server Fault, étant une question SMTP; je n'ai pas eu à administrer de serveur SMTP depuis 9 ans, donc je connais SPF, mais je n'ai jamais eu à gérer le problème. qu'il cause)

1
Joe

Tout ce que j'ai vu à propos de ce code d'erreur indique qu'il indique la réception la boîte aux lettres n'était pas disponible à l'époque. Cela peut être dû à de nombreuses raisons: serveur en panne, boîte aux lettres pleine/inexistante, éléments plus ésotériques. Recevez-vous le message plus souvent pour des destinataires particuliers et leur avez-vous demandé s'ils avaient eu des temps morts, etc.?

MODIFIER
Obtenir 550 5.7.1 signifie apparemment que le message a été rejeté, car le "demandeur" (vraisemblablement votre script PHP) n'est pas autorisé à envoyer au nom du domaine concerné. Il n'y a pas de liens permanents faciles, mais faites une recherche dans la page pour "5.7.1" dans RFC 4405 et RFC 4408 . Un autre article que j'ai trouvé indique que le message peut indiquer que vous êtes sur une liste noire. Bien que ce ne soit évidemment pas vrai puisque les messages passent parfois, cela suggère encore que vous déclenchiez un mécanisme de contrôle/spam, ce qui serait cohérent avec le concept d'autorisation dans les RFC. Cela devrait vous donner un peu plus de travail pour traquer cela.

Mais il semble que le temps soit venu pour vous de consulter le support que vous utilisez pour le script que vous utilisez, à moins que ce ne soit un outil standard. Je n'ai jamais rencontré ça avant.

0
Su'