/ / Apache Email API: Získanie výnimky - Neplatná adresa 'To' - java, smtp, javamail, apache-commons

Apache Email API: Získanie výnimky - Neplatná adresa 'To' - java, smtp, javamail, apache-commons

Používam Apache commons mail API na posielanie e-mailov prostredníctvom programu Java.

Nasleduje kód java.

 public static void sendSimpleMail() throws Exception {
Email email = new SimpleEmail();
email.setSmtpPort(25);
email.setDebug(false);
email.setHostName("localhost");
email.setFrom("user1@test.com");     // Is this correct ?Do we need this?
email.setSubject("Hi");
email.setMsg("This is a test mail ... :-)");
email.addTo("myname@mycompany.com");
email.setTLS(true);
email.send();
System.out.println("Mail sent!");
}

Mám Zadarmo SMTP server beží na porte 25 pomocou platného servera DNS.

Teraz, keď spustím program, dostanem nasledujúcu výnimku.

  Exception in thread "main" org.apache.commons.mail.EmailException: Sending the email to the following server failed : localhost:25
at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1242)
at org.apache.commons.mail.Email.send(Email.java:1267)
at TestMail.sendSimpleMail(TestMail.java:26)
at TestMail.main(TestMail.java:13)
Caused by: com.sun.mail.smtp.SMTPSendFailedException:
550 Invalid recipient:     myname@mycompany.com

at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:1388)
at com.sun.mail.smtp.SMTPTransport.finishData(SMTPTransport.java:1215)
at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:586)
at javax.mail.Transport.send0(Transport.java:169)
at javax.mail.Transport.send(Transport.java:98)
at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1232)
... 3 more

Moja e-mailová adresa je veľmi platná e-mailová adresa. Prečo program dáva takúto chybu?

odpovede:

0 pre odpoveď č. 1

550 je štandardný SMTP kód chyby, takže problémZdá sa, že leží niekde v konfigurácii servera SMTP. Overte si, či môžete poslať e-mail ručne na zadanú e-mailovú adresu (telnet localhost 25), ak to nie je možné, nemá to nič spoločné s apache.