分发组的java JavaMail/Exchange AuthAs标头
我有一个Java程序,它通过我们组织的Exchange服务器发送一封常规电子邮件。带有该程序的服务器和exchange服务器位于同一网络上。电子邮件被发送到几个单独的电子邮件地址和几个通讯组。所有收件人都是组织域的内部收件人。这在过去两年中效果良好
最近,我升级了项目的依赖项,以使用更新版本的JavaMail。更改后,我发现电子邮件已成功送达各个电子邮件收件人,但通讯组的成员未收到电子邮件。将旧邮件与新邮件进行比较后,只有一个区别。此标题:
X-Ms-Exchange-Organization-Authas: Internal
已更改为:
X-Ms-Exchange-Organization-Authas: Anonymous
我不完全理解这个标题的意思,但我相信这可能就是通讯组不接收电子邮件的原因,因为它们被设置为只接收内部电子邮件。注意到这个问题后,我将更改恢复到JavaMail库版本,但问题仍然存在。JavaMail调试输出验证通讯组地址为“OK”
那么,如何让Exchange服务器识别这是一封内部电子邮件
下面是发送电子邮件的代码,删除了敏感信息。同样,在我尝试更新库之前,这段代码已经运行了几年。我还应该提到,通讯组本身似乎很好,他们一直像平常一样收到其他电子邮件
Properties props = System.getProperties();
// Setup mail server
props.put("mail.smtp.host", "XXXXXXXX");
props.put("mail.smtp.auth", "true");
props.put("mail.debug", "true");
props.put("mail.smtp.port", "587");
props.put("mail.smtp.connectiontimeout", "30000");
props.put("mail.smtp.timeout", "30000");
Session session = Session.getDefaultInstance(props,
new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("XXXXXX", "XXXXXX");
}
});
// Define message
MimeMessage message = new MimeMessage(session);
// Set the from address
message.setFrom(new InternetAddress("XXXXXXXXX"));
// Set the to address
message.addRecipient(Message.RecipientType.TO, new InternetAddress("XXXXXXXXXXX"));
message.addRecipient(Message.RecipientType.TO, new InternetAddress("XXXXXXXXXXX"));
message.addRecipient(Message.RecipientType.TO, new InternetAddress("XXXXXXXXXXXX"));
message.addRecipient(Message.RecipientType.TO, new InternetAddress("XXXXXXXXXXXX"));
message.addRecipient(Message.RecipientType.TO, new InternetAddress("XXXXXXXXXXXXX"));
message.addRecipient(Message.RecipientType.TO, new InternetAddress("XXXXXXXXXXXXX"));
message.addRecipient(Message.RecipientType.TO, new InternetAddress("XXXXXXXXXXXXX"));
Date date = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("MM/dd/yyyy");
String formDate = formatter.format(date);
// Set the subject
message.setSubject("Incident Report Dispositions: " + formDate);
// Set the content
message.setContent(body, "text/html; charset=utf-8");
// Send message
Transport.send(message);
编辑:我还注意到“匿名”电子邮件缺少以下标题:
X-Ms-Exchange-Organization-Authmechanism: 00
共 (0) 个答案