我的电子邮件配置无法在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 btw中运行),所以暗示将是不同的。我见过其他使用“mail.smtp.host”作为主机的样本,但我无法正确使用这个样本.... 这是我第一次做一个电子邮件程序,所以我对此几乎一无所知。
答案 0 :(得分:4)
您可以将在Intranet上运行的Domino服务器用作SMTP服务器,但首先您必须询问您的管理员Domino是否已设置为允许SMTP - 同时要求正确的主机名和端口)。
答案 1 :(得分:2)
setHostName需要smtp服务器的主机名或IP地址。例外情况非常清楚问题是什么。
Lotus Notes仅仅是一个客户端,与您要完成的任务无关。