JavaMail - Absender-Adresse zurückgewiesen: Zugriff Verweigert
Ok, ich weiß nicht, was anderes zu tun. Dieser code war völlig in Ordnung, vor einer Woche, als ich geschrieben und es getestet. Dann habe ich integrierte es in mein Programm und stellte fest, dass ich immer Ausnahmen. Alles scheint normal. Die Absender-Adresse ist echt. Die Empfänger-Adressen, die ich verwendet, um es zu testen legit sind. Was ist falsch? Ich bin so frustriert:
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);
Ausnahme ist also:
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
Jede Hilfe wäre sehr geschätzt. Danke!
InformationsquelleAutor Akinwale Agbaje | 2012-04-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Endlich herausgefunden, ein work-around (obwohl ich immer noch nicht verstehen kann, warum es ein problem, das in Erster Linie, zu sehen, wie die codes verwendet, um zu arbeiten. Wie auch immer...)
Finden Sie, dass der Unterschied zwischen den codes in der Frage, und diese sind:
und
Stellt sich heraus, ein
Transport
hatte das Objekt erstellt werden und mit den richtigen Anmeldeinformationen (port-Nummer, Benutzername, Passwort und E-mail-server).Auch, ich habe ein Prozess der Beseitigung, und fand heraus, dass, solange Sie diese:
brauchen Sie nicht:
Oben sein könnte:
Sowieso, das ist die Antwort. Sie können auch ändern, dass diese Antwort für gmail. Nur sicher sein, ändern Sie den ausgehenden mail-server von gmail, sowie die von E-Mail-Adresse, Benutzername und Passwort, und Sie sind gerade fein 🙂
InformationsquelleAutor Akinwale Agbaje