OVH Community, votre nouvel espace communautaire.

fonction mail()+interprétation des erreurs Bounce = désappointement total !


stepson
15/11/2011, 13h08
tiens, marrant, ca ressemble à mes soucis sur mon RPSII (distrib gentoo ovh standard)
les appels à mail() (dans mon cas faits par joomla et community builder pour la confirmation de l'activation de compte utilisateur) se comportent de manière erratique.
parfois le mail part, parfois non sans que j'arrive à comprendre pourquoi...

Felix
14/11/2011, 06h13
Il faut évidemment contacter le proprio du serveur en question pour avoir du support, et personne d'autre ne pourra répondre.
Oui... dans le cas d'Orange, c'est gagné d'avance
Je peux essayer guignol@wanadoo.fr, on ne sait jamais

Bah, j'avais essayé sur ce forum, au cas où quelqu'un (Ovh Team ou un habitué) aurait eu une réponse.
Merci pour tes réponses

fritz2cat
13/11/2011, 09h33
Citation Envoyé par Felix
Reste à savoir pourquoi un serveur renvoie une notification 5.1.1 alors que la bal existe bien si l'on utilise un lecteur de mail normal (TB par exemple).
Dans le message d'erreur tu as le nom et l'adresse du serveur qui raconte des con*eries. Dans la version Postfix la phrase utile est: "host smtp.wanadoo.fr[80.12.242.148] said:"

Il faut évidemment contacter le proprio du serveur en question pour avoir du support, et personne d'autre ne pourra répondre.

A moins que tu aies fait une faute d'orthographe dans le nom de domaine. Si tu mets @hotmiel.com au lieu de @hotmail.com tu risques bien que la bal n'existe pas.

Frédéric

Felix
13/11/2011, 07h31
Merci Fritz2cat, j'y vois un peu plus clair :-)
Reste à savoir pourquoi un serveur renvoie une notification 5.1.1 alors que la bal existe bien si l'on utilise un lecteur de mail normal (TB par exemple).
un anti-spam à l'emporte-pièce ?

fritz2cat
12/11/2011, 11h02
Le texte des messages d'erreur n'est pas vraiment standardisé.

Entre les "mailbox unavailable", "no such user here", "user unknown", et parfois une version dans la langue du pays où se trouve le serveur (finlandais, estonien, ...) je comprends qu'on puisse s'y perdre.

Par exemple Wanadoo/Orange dit (en rouge) (ils ont traduit invalid par invalide ce qui est une erreur de français):
This is the mail system at host ********.

I'm sorry to have to inform you that your message could not
be delivered to one or more recipients. It's attached below.

For further assistance, please send mail to postmaster.

If you do so, please include this problem report. You can
delete your own text from the attached returned message.

The mail system

: host smtp.wanadoo.fr[80.12.242.148]
said: 550 5.1.1 Adresse d au moins un destinataire invalide. Invalid
recipient. OFR_416 [416]
(in reply to RCPT TO command)
Je vais aussi me pencher sur tout ce qui est autour et dépend du serveur SMTP d'envoi.
Ce qui est en noir est la réponse caractéristique de Postfix.
"Le serveur d'en face smtp.wanadoo.fr[ip.ad.dr.ess] a dit: XXXX (en réponse à la commande SMTP TO)".
C'est très convivial pour des techniciens, et c'est quand même pas mal pour un utilisateur néophyte. Le texte d'intro est pas mal clair pour un débutant.
Pourrait faire un peu mieux quand même, en interprétant le code 550 5.1.1 et en donnant un complément d'information.

(OVH est en train de migrer de Qmail vers Postfix.)

Le format des messages d'erreur générés par Qmail était selon moi parmi les plus moches qui existent.
Hi. This is the qmail-send program at 27.mail-out.ovh.net.
I'm afraid I wasn't able to deliver your message to the following addresses.
This is a permanent error; I've given up. Sorry it didn't work out.

:
91.121.193.8 does not like recipient.
(220_xxxx.ovh.net_ESMTP_Postfix_(Debian/GNU).?)|HELO_27.mail-out.ovh.net|250_r10051.ovh.net?)|MAIL_FROM:=250_2.1.0_Ok?|RCPT_TO:=( 550_5.1.1_:_Recipient_address_rej ected:_User_unknown_in_local_recipient_table??|Rem ote host said: 550 5.1.1 : Recipient address rejected: User unknown in local recipient table
Giving up on 91.121.193.8.
Tout le dialogue SMTP est reproduit sur deux lignes, ce qui a pour résultat de rendre illisible toute la réponse.

Un autre logiciel, l'ancestral "sendmail" qui est toujours pas mal utilisé, produit des messages encore très différents:
The original message was received at Sat, 12 Nov 2011 11:08:24 +0100
from ip-***.dsl.scarlet.be [62.235.**.**]

----- The following addresses had permanent fatal errors -----

(reason: 550 5.1.1 Adresse d au moins un destinataire invalide. Invalid recipient. OFR_416 [416])

----- Transcript of session follows -----
... while talking to smtp.wanadoo.fr.:
>>> RCPT To:
<<< 550 5.1.1 Adresse d au moins un destinataire invalide. Invalid recipient. OFR_416 [416]
550 5.1.1 ... User unknown
>>> DATA
<<< 503 5.5.0 need RCPT before DATA
Ici Sendmail donne l'interprétation de 500 5.1.1 : User Unknown.

Je m'arrête là. Il y a autant de formats de messages d'erreur que d'implémentations.

Vous recevrez 90% des messages d'erreur dans le format de votre fournisseur de SMTP sortant.

Je m'explique pour les 10% restants.

Tous les exemples ci-dessus ont été refusés durant la transaction SMTP. Exemple: Hello. J'ai un message pour xx@yy.zz.
L'autre répond: Cet utilisateur n'existe pas
Et ça s'arrête là.

Dans d'autres cas, le serveur d'en face directement connecté à Internet ne possède pas la liste des comptes utilisateur. Il accepte donc tous les messages même ceux dont l'adresse est fausse. Puis il les passe vers un serveur interne d'entreprise. En aval il faudra bien que ça se plante quelque part et qu'un serveur t'envoie une notification. Le format de cette notification sera déterminé par le fabricant du logiciel sur ce dernier serveur.

Mais OVH risque bien de passer cette notification à la trappe... voir http://forum.ovh.com/showthread.php?t=74766

Frédéric

Felix
12/11/2011, 06h18
Bonjour,
Je recherche également des explications sur ces retours d'erreurs par fonction mail(). Le support ne semble pas enclin à répondre précisement (réponses à côté de la question comme c'est un peu leur habitude).

A la différence de Chcw76, je connais les destinataires et peux donc affirmer que les emails existent.
D'ailleurs c'est nikel à partir d'un logiciel mail (même adresse d'émetteur).

J'utilise un script php (wanewsletter) depuis près de 10 ans, actuellement auprès de 360 adhérents et une dizaine de fois dans l'année. Mais je préfère le déclencher moi-même, n'ayant aucune connaissance (confiance ?) dans le CRON.

Depuis quelques mois les erreurs concernent 5 ou 6 adhérents, toujours les mêmes, avec de nouveaux messages d'erreur :

Chez wanadoo (2 adhérents), c'est :
Code:
Remote host said: 550 5.1.1 Adresse d au moins un destinataire invalide. Invalid recipient. OFR416 416 Giving up on xxx
Sur des comptes entreprises (.com), c'est :
Code:
Remote host said: 550 sorry no mailbox here by that name (5.1.1) Giving up on
ou
Code:
Reporting-MTA: dnsEVS15.hexv2.local Received-From-MTA: dnsFESMTPIN01.hexv2.local Arrival-Date: Fri 11 Nov 2011 06:43:31 0100  Final-Recipient: xxx@xxx.com Action: failed Status: 5.2.2 X-Display-Name:
Voilà pour mon retour d'expérience. Désolé de ne pouvoir apporter des explications, mais également très intéressé :-)
Intéressé aussi sur ces nouvelles balises apparaissant dans les entêtes de ces mails :
Code:
X-OVH-SPAMSTATE: OK
X-OVH-SPAMSCORE: 20
X-OVH-SPAMCAUSE: gggruggvu....
X-Spam-Check: DONE|U 0.5/N
A vous lire à nouveau

P.S. petite suggestion à Chw76 :
As-tu essayé de réduire le nombre d'emails par flot (je trouve que 900, c'est beaucoup) ?

fritz2cat
08/11/2011, 07h50
Quand hotmail dit: mailbox unavailable c'est que l'utilisateur n'existe pas.

Frédéric

DM Pub
08/11/2011, 06h04
Bonjour Chcw76

Je viens de lire ton message car je rencontre le même probleme, mais exclusivement avec des adresses orange et wanadoo. Il y en a qui passent, d'autres pas sans que je comprenne poourquoi.
As tu pu trouver une réponse au problème?

Didier

Chcw76
23/09/2011, 19h08
Bonjour à tous,

Je rencontre les pires problèmes à mettre en place un système d'envoi de newsletters, et surtout à gérer les erreurs renvoyés par OVH (bounce), notamment quand OVH bloque les envois dès les 5% d'erreurs atteints :

- Hébergement OVH : mutualisé PRO (donc 1000 mails/jours maxi)
- Nb de destinataires/abonnés news : 1200 et des poussières
- Mode d'envoi : avec la fonction mail(), via le planificateur de tâches (CRON), il s'agit donc d'un script PHP qui s'exécute à la même heure par intervalles de 24 heures, et qui envoie la news aux abonnés jusqu'à ce que le dernier abonné de la liste soit "servi"... Donc dans mon cas (1200 abonnés), avec un envoi par paquet de 900 abonnés/jour, la tâche s'exécute donc sur 2 jours.
- le corps du mail (de la newsletter) est exclusivement une page html incorporée dans le $corps de mon message :

Mais bon, ce script ne me paraît pas devoir être mis en cause, vu que je l'ai testé préalablement (toujours avec le planificateur de tâches CRON de mon hébergement) avec succès sur un nombre restreint d'une dizaine de destinataires (cette dizaine d'adresses-test étant valide au demeurant...)

Donc, mon script s'est exécuté avec succès à l'heure dite, et c'est là où je veux en venir :

Après seulement 171 envois sur les 900 premiers du jour, il y a déjà 21 erreurs bounce...
Donc OVH me retourne plus de 5% d'erreurs - je ne remets pas en cause la politique anti-spam d'OVH, bien au contraire ! - mais là c'est l'interprétation de ces erreurs qui me pose pb :

- dans TOUS les cas, il s'agirait d'une erreur 550 (mailbox non available) -> donc une adresse bidon si j'ai bien compris
- pour la quasi totalité des erreurs, il s'agit de destinataires @hotmail ou @msn ou @live (sur les 21 premières erreurs, je n'ai qu'une seule adresse chez un autre domaine, orange.fr pour ne pas le citer, tous les autres étant chez les 3 premiers providers cités)... de là à en conclure que la très grande majorité des internautes frivoles et bidons se cachent chez ses 3 providers... y'a pas loin, hein !!!...???

Sachant toutefois que parmi les mails correctement envoyés sans erreur bounce, j'en ai aussi qui concerne des destinataires @hotmail, @msn, @live... Donc le blocage de ces 21 mails ne devrait pas être causé par une quelconque politique anti-spam de ces fournisseurs, n'est ce pas ?

- ce qui m'inquiète le plus, c'est le début du message d'erreur fourni par OVH : même si les logs terminent tous invariablement par une notification d'erreur 550, j'ai, en début de log, et selon le destinataire considéré, un msg différent, en voilà qq uns :
Code:
xx.xx.xxx.xxx does not like recipient. (220_bay0-mc2-XXX.Bay0.hotmail.com_Sending_unsolicited_commercial_or_bulk_e-mail_to_Microsofts_computer_network_is_prohibited._Other_restrictions_are_found_at_http://privacy.msn.com/Anti-spam/._Violations_will_result_in_use_of_equipment_located_in_California_and_other_states._Fri,_23_Sep_2011_08:11:21_-0700_?)
HELO_57.mail-out.ovh.net
250_bay0-mc2-XXX.Bay0.hotmail.com_(3.13.0.93)_Hello_[xxx.xxx.xx.xx]?)
MAIL_FROM:=250_bounce-id=D266=U28615.mediaplan.ovh.net=xxxxxxxxxxxxxx@57.mail-out.ovh.net....Sender_OK?
RCPT_TO:=(550_Requested_action_not_taken:_mailbox_unavailable??
Remote host said: 550 Requested action not taken: mailbox unavailable Giving up on xx.xx.xxx.xx.
(et ça, c'est le même log pour toutes les adresses hotmail, live ou msn)

Code:
xxx.xxx.xx.xx does not like recipient. [from:xxx.xx.xxx.xx](220_mwinf5c63_ME_ESMTP_server_ready?)
HELO_70.mail-out.ovh.net
250_mwinf5c63_hello_[xxx.xx.xxx.xx],_pleased_to_meet_you?)
MAIL_FROM:=250_2.1.0__sender_ok?
RCPT_TO:=(550_5.1.1_Adresse_d_au_moins_un_destinataire_invalide._Invalid_recipient._OFR_416_[416]??
Remote host said: 550 5.1.1 Adresse d au moins un destinataire invalide. Invalid recipient. OFR_416 [416] Giving up on xxx.xxx.xx.xx.
(ce log là, je ne l'ai eu que pour un seul et unique destinataire @orange.fr)

Code:
 Reporting-MTA: dns;coL0-xxx-f43.Col0.hotmail.com Received-From-MTA: dns;57.mail-out.ovh.net Arrival-Date: Fri, 23 Sep 2011 08:12:48 -0700  Final-Recipient: rfc822;destinataire@hotmail.com Action: failed Status: 5.5.0 Diagnostic-Code: smtp;550 Requested action not taken: mailbox unavailable (-1992558197:3608:-2147467259)
Ce log là, je ne l'ai eu que pour seulement 2 destinataires (les deux étant @hotmail)

Alors comment dois-je réagir à ces logs ? dois-je considérer que toutes ces erreurs ne correspondent en fait qu'à des adresses email bidon (auquel cas le ménage sera facile !), ou y a t-il d'autres considérations, ou d'autres interprétation d'erreurs, que j'ignorerais ???

Pour info, ce système de newletters que je viens de mettre en place utilise une base de données d'abonnés existante (et qui visiblement n'était pas trop bien gérée à l'époque, vu le nombre d'adresses bidons qu'elle semble contenir, mais bon... faut faire avec !), et qu'à l'avenir toute inscription en ligne à la newsletter nécessitera une confirmation (lien d'activation reçu par mail-> si pas de réponse, élimination de cette adresse de la BDD)

Merci d'avance pour votre aide ou votre retour d'expérience au sujet de l'interprétation de ces erreurs,

@+ et bien cordialement