我在使用 Java 程序中的 Lotus Notes 发送电子邮件时遇到问题。我知道这非常简单,但我想我错过了一些东西。我的代码如下;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.SimpleEmail;
public class MailClass {
public void SendMail() {
SimpleEmail email = new SimpleEmail();
try {
email.setHostName("mail.smtp.host");
email.addTo("recipient@company.com");
email.setFrom("sender@agency.com");
email.setSubject("Hello World");
email.setMsg("This is a simple test of commons-email");
email.send();
} catch (EmailException ex) {
Logger.getLogger(MailClass4.class.getName()).log(Level.SEVERE, null, ex);
}
}
public static void main(String[] args) {
MailClass main = new MailClass();
main.SendMail();
}
}
我不断收到此错误
SEVERE: null
org.apache.commons.mail.EmailException: Sending the email to the following server failed : mail.smtp.host:25
at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1242)
...
Caused by: javax.mail.MessagingException: Unknown SMTP host: mail.smtp.host;
nested exception is:java.net.UnknownHostException: mail.smtp.host at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1970)
我猜这与我的主机有关,但不确定该怎么做。据我了解,您的主机应该是您的电子邮件客户端(例如 mail.smtp.google.com)。但由于这是 Lotus Notes(顺便说一句,它在我们的 Intranet 中运行),因此实施会有所不同。我见过使用“mail.smtp.host”作为主机的其他示例,但我无法正确处理这个......这是我第一次做一个电子邮件程序,所以我对此一无所知.