gpt4 book ai didi

java - 在使用 Spring JavaMail 发送电子邮件之前检索生成的 Message-ID

转载 作者:IT老高 更新时间:2023-10-28 13:48:22 34 4
gpt4 key购买 nike

我正在使用 org.springframework.mail.javamail.JavaMailSender 使用 SMTP 发送电子邮件,因为我需要检索 Message-ID header 。下面的代码

message.getMimeMessage().getMessageID()  

正在返回 null。如何检索 Message-ID?

public void notifyByMail(final NotificationRequest request)
{
MimeMessagePreparator preparator = new MimeMessagePreparator()
{
public void prepare(MimeMessage mimeMessage) throws Exception
{
MimeMessageHelper message = null;
message = new MimeMessageHelper(mimeMessage, UTF_8);
message.setTo(request.getTo());
message.setCc(request.getCc());
message.setFrom(request.getFrom());
message.setReplyTo(request.getReplyTo());
message.setSubject(request.getSubject());
message.setText("some text", true);

//Need to retrieve the Message-ID here
System.out.println("Message - ID : " + message.getMimeMessage().getMessageID());
}

};
getMailSender().send(preparator);
}

最佳答案

message.getMimeMessage().getMessageID() 之前尝试 message.getMimeMessage().saveChanges()

创建消息时也需要这个:

        MimeMessage msg = new MimeMessage(session) {
protected void updateMessageID() throws MessagingException {
if (getHeader("Message-ID") == null)
super.updateMessageID();
}
};

这会导致 Message-ID header 仅在第一次未设置时才设置。

关于java - 在使用 Spring JavaMail 发送电子邮件之前检索生成的 Message-ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13986692/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com