您的位置:首页 > 移动开发

spring boot 发送邮件带附件出现Not in multipart mode - create an appropriate MimeMessageHelper错误

2016-12-30 15:23 956 查看
final MimeMessageHelper message = new MimeMessageHelper(mimeMessage);  //没带上true参数发送邮件带附件出现错误

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.
at org.springframework.mail.javamail.MimeMessageHelper.checkMultipart(MimeMessageHelper.java:383) ~[spring-context-support-4.3.5.RELEASE.jar:4.3.5.RELEASE]
at org.springframework.mail.javamail.MimeMessageHelper.getRootMimeMultipart(MimeMessageHelper.java:400) ~[spring-context-support-4.3.5.RELEASE.jar:4.3.5.RELEASE]
at org.springframework.mail.javamail.MimeMessageHelper.addAttachment(MimeMessageHelper.java:998) ~[spring-context-support-4.3.5.RELEASE.jar:4.3.5.RELEASE]
at org.springframework.mail.javamail.MimeMessageHelper.addAttachment(MimeMessageHelper.java:1077) ~[spring-context-support-4.3.5.RELEASE.jar:4.3.5.RELEASE]
at org.springframework.mail.javamail.MimeMessageHelper.addAttachment(MimeMessageHelper.java:1047) ~[spring-context-support-4.3.5.RELEASE.jar:4.3.5.RELEASE]
at com.example.SendEmailController.sendEmail(SendEmailController.java:37) ~[classes/:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_71]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_71]

修改

@Controller

public class SendEmailController {
@Autowired  
JavaMailSender mailSender; 
@RequestMapping("/email")
@ResponseBody
public String sendEmail(){
try {
final MimeMessage mimeMessage = this.mailSender.createMimeMessage();  
        final MimeMessageHelper message = new MimeMessageHelper(mimeMessage,true);  //如果想要带附件 加上true    
message.setFrom("1379960679@qq.com");
 
        message.setTo("1379960679@qq.com");  
        message.setSubject("测试邮件主题");  
        message.setText("有附件");
        File file =new File("F://1233.jpg");
        FileSystemResource resource =null;
        if(file.exists()){  
       
System.out.println("毕业论文.doc");
       
resource =new FileSystemResource(file); 
        }       
        message.addAttachment("毕业论文.jpg", resource);

         this.mailSender.send(mimeMessage);  

         } catch (MessagingException e) {

        e.getMessage();

  e.printStackTrace();

  } 
return "";
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  邮件 spring
相关文章推荐