JavaMail - Sender Address rejected: Access Denied
Ok, je ne sais pas quoi faire d'autre. Ce code a fonctionné parfaitement bien il y a une semaine, lorsque j'ai écrit et testé. Puis j'ai incorporé dans mon programme et j'ai réalisé que je continué de faire des exceptions. Tout semble normal. L'adresse de l'expéditeur est légitime. Les adresses des destinataires, j'ai utilisé pour la tester sont legit. Quel est le problème? Je suis tellement frustré:
private String outgoingMailServer = "smtp.mail.yahoo.com";
boolean debug = true;
//set the host outgoing mail smtp server.
Properties properties = new Properties();
properties.put("mail.smtp.host", outgoingMailServer);
properties.put("mail.smtp.auth", "true");
Authenticator authenticator = new SMTPAuthentication();
Session session = Session.getDefaultInstance(properties, authenticator);
session.setDebug(debug);
//create a message session
Message msg = new MimeMessage(session);
//set the addresses, to and from
InternetAddress fromAddress;
fromAddress = new InternetAddress(emailFromAddress);
msg.setFrom(fromAddress);
//since mail can be sent to more than one recipient, create loop
//to add all addresses into InternetAddress, addressTo.
//InternetAddress[] toAddress = new InternetAddress[recipients.length];
InternetAddress[] toAddress = new InternetAddress[recipients.size()];
for (int i = 0; i < recipients.size(); i++) {
toAddress[i] = new InternetAddress(recipients.get(i));
}
msg.setRecipients(Message.RecipientType.TO, toAddress);
//set the subject and content type
msg.setSubject(emailSubject);
msg.setContent(actualMessage, "text/html; charset=utf-8");
//send the email
Transport.send(msg);
L'exception est donc:
javax.mail.SendFailedException: Invalid Addresses;
nested exception is:
com.sun.mail.smtp.SMTPAddressFailedException: 554 5.7.1 <blank@yahoo.com>: Sender address rejected: Access denied
at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1835)
at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1098)
at javax.mail.Transport.send0(Transport.java:195)
at javax.mail.Transport.send(Transport.java:124)
at internalLogicEngine.LogicEngine.sendReminder(LogicEngine.java:4282)
at testPackage.Test.main(Test.java:169)
Caused by: com.sun.mail.smtp.SMTPAddressFailedException: 554 5.7.1 <blank@yahoo.com>: Sender address rejected: Access denied
at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1733)
... 5 more
Toute aide serait appréciée. Merci!
OriginalL'auteur Akinwale Agbaje | 2012-04-04
Vous devez vous connecter pour publier un commentaire.
Enfin trouvé un travail (même si je ne comprend toujours pas pourquoi il y a un problème en premier lieu, parce que les codes utilisés pour le travail. De toute façon...)
Vous trouverez que la principale différence entre les codes de la question, et celles-ci sont:
et
S'avère, une
Transport
objet a dû être créé et connecté en utilisant les informations d'identification appropriées (numéro de port, nom d'utilisateur, mot de passe et le serveur de messagerie).Aussi, j'ai fait un processus d'élimination et découvert que tant que vous avez ce:
vous n'en avez pas besoin:
Ci-dessus pourrait tout aussi bien être:
De toute façon, c'est la réponse. Vous pouvez également modifier cette réponse pour gmail. Assurez-vous de changer le sortant, serveur de messagerie, gmail, ainsi que l'adresse email, nom d'utilisateur et le mot de passe, et vous serez parfaitement 🙂
OriginalL'auteur Akinwale Agbaje