【发布时间】:2013-07-04 22:20:16
【问题描述】:
我想在一个 java 程序中通过用户的本地邮件客户端自动发送邮件。
我使用以下代码打开客户端并填写必填字段,但我现在如何在无需任何用户交互的情况下自动发送?
private void sendMail() throws MessagingException {
try {
Desktop.getDesktop().mail(new URI("mailto:abc@def.com?subject=someSubject&cc=aa@bb.cc,dd@dd.ds&bcc=x@y.zz&body=someBodyText"));
} catch (Exception e) {
e.printStackTrace();
}
}
基本上我想发送不离开公司网络的邮件。
【问题讨论】:
-
没有适用于所有邮件客户端的 API,因此最好的选择是使用 Java Mail API 并直接发送邮件。
-
我一直在玩弄 Java Mail API,我的主要问题是我不知道客户端机器上将运行哪个邮件服务器。我对以下属性使用什么值:mail.smtp.host。我知道客户端将位于包含邮件服务器的本地网络中,但我不知道它的“名称”。