Согласно FAQ Oracle , когда вы отправляете сообщение или вызываете saveChanges, заголовок Message-Id устанавливается методом updateMessageID (), который переопределяет любое значение, которое вы, возможно, уже установили.
Чтобы установить собственное значение, вам нужно создать подкласс MimeMessage и реализовать собственную функцию updateMessageID ():
class MyMimeMessage extends MimeMessage {
...
protected void updateMessageID() throws MessagingException {
setHeader("Message-ID", "my-message-id");
}
...
}
Мне удалось использовать эту технику для подавления или устранения заголовка Message-Id, например:
@Override
protected void updateMessageID() throws MessagingException {
removeHeader("Message-Id");
}
Это было полезно для Mailgun, который устанавливает Message-Id, если вы его не установили.