API электронной почты Apache: получение исключения - неверный адрес «Кому» - PullRequest
0 голосов
/ 04 августа 2011

Я использую API почты Apache Commons для отправки электронной почты через Java-программу.

Ниже приведен код 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!");
}

У меня есть Бесплатный SMTP-сервер работает на порту 25 с использованием действующего DNS-сервера.

Теперь, когда я запускаю программу, я получаю следующее исключение.

  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

Теперь мой идентификатор электронной почты оченьдействительный идентификатор электронной почты.Почему программа выдает такую ​​ошибку?

1 Ответ

0 голосов
/ 04 августа 2011

550 - это стандартный код ошибки SMTP, поэтому проблема, кажется, лежит где-то в конфигурации SMTP-сервера.Убедитесь, что вы можете отправить электронное письмо вручную на указанный адрес электронной почты (telnet localhost 25), если вы не можете, то это не имеет никакого отношения к Apache.

...