使用现有的 MimeMessage 对象创建 MimeMessagePreparator

Posted

技术标签:

【中文标题】使用现有的 MimeMessage 对象创建 MimeMessagePreparator【英文标题】:Creating MimeMessagePreparator using existing MimeMessage Object 【发布时间】:2020-10-11 06:14:29 【问题描述】:

我有一个已设置字段的 MimeMessage 对象。

如何? 我尝试将现有的 mime 消息对象传递给 MimeMessageHelper 构造函数,但它不起作用。 下面是代码sn-p:

MimeMessage msg=new MimeMessage();
msg.setFrom("abc@crop.com");
msg.setTo("xyzc@crop.com");
msg.setSubject("Test mail");
msg.setText("Test Mail java sender",false);


MimeMessagePreparator messagePreparator = new MimeMessagePreparator ()
        public void prepare(MimeMessage mimeMessage) throws Exception
         MimeMessageHelper helper = new MimeMessageHelper(msg);//creating helper with existing mime message object
        
    ;
    

mailSender.send(messagePreparator);

【问题讨论】:

【参考方案1】:

我知道这已经晚了,但有人可能会觉得它很有用:

MimeMessagePreparator messagePreparator = mimeMessage -> 
            MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage);
            messageHelper.setTo("toemail");
            messageHelper.setFrom("fromEmail");
            messageHelper.setSubject(subject);
            messageHelper.setText(body, false);

        ;

        sendMail(messagePreparator);

PS:如果您使用任何模板,我假设body 是模板化的消息体。如果您使用html 模板,请将其设置为true

【讨论】:

以上是关于使用现有的 MimeMessage 对象创建 MimeMessagePreparator的主要内容,如果未能解决你的问题,请参考以下文章

c#从现有的对象数组创建一个新列表[关闭]

将JSON映射到现有的pojo对象

JavaMail入门第二篇 创建邮件

JavaMail入门第二篇 创建邮件

将 MimeMessage 对象消息转发为 EML 文件中附件的常规转发格式

Hibernate 一对一更新创建新的子对象而不是更新现有的