私たちのアプリケーションは自動的に電子メールを送信します。これらの電子メールはスレッドでグループ化されている必要があります。これらの電子メールには、異なる件名も含まれている可能性があります。例えば:93の説明は変更 JavaMail同じスレッド/会話で電子メールを送信
- 問題を作成し93
- 号
- 号93譲受人変更
- 作成発行94
- 号94閉じ
親メールMessage-IDを指すようにすべての子メールの「In-Reply-To」ヘッダーを設定しようとしています。したがって、新しい問題が作成され、最初のメールが送信されるたびに、私はそのMessage-IDを保存します。問題に関連する新しい電子メールが送信されると、保存されたMessage-IDを指す "In-Reply-To"ヘッダーが追加されます。
私のコードは次のようになります。
Message message = new CustomMessage(session, parentMessageId);
message.setFrom(new InternetAddress("[email protected]"));
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("[email protected]"));
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 "<[email protected]>" including <>
setHeader("In-Reply-To", inReplyTo);
}
}
}
問題は、電子メールが送信されているが、スレッドにグループ化されていません。私は彼らが同じ主題を持っている場合、彼らが正しくグループ化されていることに気づいたが、私はすべての電子メールに対して異なる主題を必要とする。
これは実際には異なる科目で可能ですか?私は別の戦略を使用する必要がありますか?それは読者が使用されている方メールで使用される「スレッド」アルゴリズムに依存
おかげ