Annonce

#1 2016-10-18 08:11:50

jhornon
Membre
Inscription : 2016-10-15
Messages : 3

Impossible poursuivre envoi après erreur

Bonjour,

Avec la version 2.3.3, j'avais de temps en temps une erreur stoppant l'envoi :
"L'email n'a pu être envoyé ! (Recipient address rejected (550 5.5.5 Adresse d au moins un destinataire invalide. Invalid recipient. OFR_416 [416]"
Avec la version 2.3.3, en insistant un peu (!), la reprise de l'envoi pouvait redémarrer. Et donc la newsletter finissait par être envoyée intégralement.

Avec la version 3.0.0, j'obtiens le même message. Mais avec cette version, impossible de reprendre l'envoi. Et donc une partie seulement des abonnés reçoit la newsletter.

Plusieurs questions :
- est ce que le message d'erreur correspond bien à une erreur d'adresse rejetée ? (Normalement je reçois en effet des retours sur l'adresse d'envoi sur des access rejected que je peux retirer des abonnés)
- comment avec la version 3.0.0 reprendre l'envoi ? (J'ai pu voir dans la BDD que 99 abonnés avaient été servis. En retirant quelques abonnés autour de 100 pas de différence, toujours la même erreur)
- comment connaitre la ou les adresses qui ont été rejetées ? (Cela permettrait de les retirer manuellement et de reprendre ensuite l'envoi).

Merci pour vos réponses et aides.

Je suis globalement très satisfait de WANewsletter.

Hors ligne

#2 2016-10-27 08:49:04

Bobe
Administrateur
Lieu : La Rochelle
Inscription : 2002-05-27
Messages : 5 299

Re : Impossible poursuivre envoi après erreur

Bonjour,

désolé pour le retard. Je suis seul à "assurer" le support et j'étais totalement pris par d'autres choses. sad
En effet, c'est une situation non prévue (adresse non valide au départ de l'envoi) puisqu'on part du principe que les adresses sont vérifiées en amont.

Éditez le fichier includes/Sender.php. À la ligne 369, vous devriez trouver le bloc suivant :

try {
	$data['email'] = $data['abo_email'];
	$data['name']  = $data['abo_pseudo'];
	$this->send($data);
}
catch (\Exception $e) {
	trigger_error(sprintf($lang['Message']['Failed_sending'],
		htmlspecialchars($e->getMessage())
	), E_USER_ERROR);
}

Remplacez-le par :

try {
	$data['email'] = $data['abo_email'];
	$data['name']  = $data['abo_pseudo'];
	$this->send($data);
}
catch (\Exception $e) {
	trigger_error(sprintf($lang['Message']['Failed_sending'],
		htmlspecialchars($e->getMessage() . ' [address: ' . $data['abo_email'] . ']')
	), E_USER_ERROR);
}

Cela permettra d'afficher l'adresse email en cause dans le message d'erreur.


PHP et MySQL, un duo gagnant !

Hors ligne

#3 2016-10-29 11:26:29

jhornon
Membre
Inscription : 2016-10-15
Messages : 3

Re : Impossible poursuivre envoi après erreur

Bonjour,

Merci pour cette aide. Cela a fonctionné.
Une petite amélioration pourrait être apportée : plutôt que de bloquer l'envoi en cas d'erreur, poursuivre et stocker les adresses invalides pour pouvoir les retirer par la suite.
J'envoie une lettre environ tous les mois et entre temps, malheureusement, des adresses deviennent invalides...

Merci et encore bravo.

Hors ligne

#4 2016-10-29 14:13:04

Bobe
Administrateur
Lieu : La Rochelle
Inscription : 2002-05-27
Messages : 5 299

Re : Impossible poursuivre envoi après erreur

J'ignore pourquoi vous avez obtenu cette erreur. C'était une adresse email syntaxiquement non valide ?


PHP et MySQL, un duo gagnant !

Hors ligne

#5 2016-10-29 16:32:43

jhornon
Membre
Inscription : 2016-10-15
Messages : 3

Re : Impossible poursuivre envoi après erreur

Non, les adresses rejetées étaient correctement formées sauf une (@hotmil.fr au lieu de @hotmail.fr).
Je n'arrive non plus pas à comprendre cette erreur, car d'autres adresses rejected sont bien envoyées et j'ai un retour sur la boite d'envoi.
En tout merci pour votre aide.

Hors ligne

Pied de page des forums