依赖包
<!-- 使用Exchange邮件服务器发邮件 -->
<dependency>
<groupId>com.microsoft.ews-java-api</groupId>
<artifactId>ews-java-api</artifactId>
<version>2.0</version>
</dependency>
/**main方法*/
public static void main(String[] args) throws Exception {
//用户名、密码和服务器地址
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010_SP2);
service.setCredentials(new WebCredentials("发送人企业邮箱@xx.com", "密码"));
service.setUrl(new URI("https://xhq-exchange16-4.xxxxxx.com/ews/Exchange.asmx"));
service.setTimeout(5000);
//主题、内容发送人、收件人、附件等信息
EmailMessage msg = new EmailMessage(service);
msg.setSubject("Hello");
//普通文本:msg.setBody(MessageBody.getMessageBodyFromText("This is a test email."));
//Html
msg.setBody(new MessageBody(BodyType.HTML, "<a>This is a test email.</a>"));
msg.getToRecipients().add(new EmailAddress("收件人邮箱@xxx.com"));
msg.setFrom(new EmailAddress("发送人企业邮箱@xx.com"));
//2个附件
//(文件名默认原名:output.xlsx)
msg.getAttachments().addFileAttachment("d://output.xlsx");
//另外指定文件名
msg.getAttachments().addFileAttachment("附件2.xlsx","d://output2.xlsx");
//msg.send();发送,不会保存到“已发送”
msg.sendAndSaveCopy();//发送并保存到“已发送”
}
效果: