J'essaie d'envoyer un message à plusieurs destinataires. Je fais la chose assez standard:SendFailedException: adresses non valides - mais il n'y a pas d'adresse invalide dans l'exception
Properties p = new Properties();
p.setProperty("mail.smtp.host", "my.smtp.host");
Session session = Session.getInstance(p);
MimeMessage msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(origin));
msg.setReplyTo(new InternetAddress[]{ new InternetAddress(replyTo) });
for(String address : destinations) {
msg.addRecipient(Message.RecipientType.BCC, new InternetAddress(address));
}
msg.setSubject("foo");
msg.setText("bar");
msg.setSentDate(new Date());
Transport.send(msg);
La plupart du temps cela fonctionne, quelques fois il ne fonctionne pas. L'exception que je reçois est SendFailedException: Invalid Addresses
. Lorsque j'imprime le contenu de l'exception que je reçois ceci:
-ivalid:[]
-valid unsent:[[email protected], [email protected], [email protected], ...]
-valid sent:null
Fondamentalement, il dit qu'il ya une ou des adresses plus invalides et il dit qu'il n'y a pas d'adresse non valide. Le tableau d'adresses non valide ne devrait-il pas avoir au moins une adresse électronique?
MISE À JOUR Le SendFailedException
est causée par une autre exception avec le message suivant:
451 4.3.0 <SENDER_EMAIL_ADDRESS>: échec de la recherche temporaire
Peut-être que l'adresse non valide dans le message n'est pas de l'un des destinataires mais de l'expéditeur.
Le serveur de messagerie ne nécessite pas d'authentification. Comme je l'ai dit, cela fonctionne la plupart du temps. Il envoie toujours des e-mails à des adresses externes (environ 20 destinataires par message). J'espérais trouver une adresse e-mail erronée dans l'exception, mais ils semblent tout à fait ordinaires (à l'exception d'un @Gmail au lieu de @gmail). Quoi qu'il en soit, si le tableau d'adresses invalide est vide, je pense que le message ne devrait pas être "Invalid Addresses". Pensez-vous que cela pourrait être un bug dans le rapport d'erreurs? – Gustavo
Vous aurez probablement besoin de regarder la [trace de protocole complet] (https://javaee.github.io/javamail/FAQ#debug) pour voir ce qui ne va vraiment pas. –
Je n'ai toujours pas activé le débogage, mais j'ai mis à jour la question avec plus d'infos. – Gustavo