【异常】SpringBoot中使用JavaMailSender发送带附件的邮件失败

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yhzhaohy/article/details/89401010

在使用JavaMailSender发送带附件的邮件时,报下面所示异常

java.lang.IllegalStateException: Not in multipart mode - create an appropriate MimeMessageHelper via a constructor that takes a 'multipart' flag if you need to set alternative texts or add inline elements or attachments.

代码:

@Test
    public void sendAttachmentMail() throws MessagingException {

        MimeMessage mimeMessage = mailSender.createMimeMessage();
        MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage);
        messageHelper.setFrom("*****@163.com");
        messageHelper.setTo("*****@qq.com");
        messageHelper.setSubject("带附件");
        messageHelper.setText("邮件包含有附件");

        File file = new File("fujian.png");

        if(file.exists()){
            System.out.println("附件。。。");
            FileSystemResource fileSystemResource = new FileSystemResource(file);
            messageHelper.addAttachment("附件1.png",fileSystemResource);
        }
        mailSender.send(mimeMessage);
    }

原因:是由于创建 MimeMessageHelper 的时候,缺少参数引起的异常。
解决办法:

MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage,true);

猜你喜欢

转载自blog.csdn.net/yhzhaohy/article/details/89401010