Java Mail在同一主题/对话中发送电子邮件
我们的应用程序自动发送电子邮件,我需要将这些电子邮件分组到线程中,以便用户将它们组织到他们的邮箱中。这些电子邮件也可能有不同的主题。例如:
- 已创建第93期
- 第93期说明已更改
- 第93期受理人已更改
- 已创建第94期
- 第94期已关闭
我的代码如下:
Message message = new CustomMessage(session, parentMessageId);
message.setFrom(new InternetAddress("from@mycompany.com"));
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("to@customer.com"));
message.setSubject("Issue " + id + " " + actionPerformed);
message.setText(content);
message.saveChanges();
Transport.send(message);
类CustomMessage如下所示:
public class CustomMessage extends MimeMessage {
private String inReplyTo;
public CustomMessage(Session session, String inReplyTo) {
super(session);
this.inReplyTo = inReplyTo;
}
@Override
public void saveChanges() throws MessagingException {
if (inReplyTo != null) {
// This messageID is something like "<51228289.0.1459073465571.JavaMail.admin@mycompany.com>" including <>
setHeader("In-Reply-To", inReplyTo);
}
}
}
问题是电子邮件已发送,但未按线索分组。我注意到,如果它们具有相同的主题,则可以正确地进行分组,但我需要为每封电子邮件使用不同的主题。
对于不同的对象,这实际上是可能的吗?我需要使用不同的策略吗?
谢谢
解决方案
这取决于所使用的邮件阅读器所使用的"线程"算法。作为邮件的创建者,您不能绝对控制邮件的显示方式。
相关文章