【发布时间】:2011-10-19 17:54:57
【问题描述】:
我正在使用 Apache commons mail API 通过 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!");
}
我使用有效的 DNS 服务器在端口 25 上运行 Free SMTP server。
现在,当我运行程序时,出现以下异常。
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
现在,我的电子邮件 ID 是一个非常有效的电子邮件 ID。为什么程序会出现这样的错误?
【问题讨论】:
-
您的本地服务器是否正在运行,是否允许发送到互联网?
-
是的。它是。但问题似乎有所不同。就像它说的那样,“地址无效”
标签: java smtp jakarta-mail apache-commons