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 "";
}
}
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 "";
}
}
相关文章推荐
- SpringBoot-Thymeleaf发送模板带附件邮件
- springboot集成JMS含附件邮件发送
- spring文本的,有图片的,有附件的邮件发送
- 使用Spring提供的Open Session In View而引起Write operations are not allowed in read-only mode (FlushMode.NEVER) 错误解决
- java 利用spring JavaMailSenderImpl发送邮件,支持普通文本、附件、html、velocity模板
- java 利用spring JavaMailSenderImpl发送邮件,支持普通文本、附件、html
- spring发送邮件(多人接收或抄送多少带附件发送)
- multipart/form-data 及 多附件邮件发送
- springMail的发送带有附件的邮件
- 在服务器上用PHPMAIL发送邮件出现Could not connect to SMTP host错误 解决办法
- java 利用spring JavaMailSenderImpl发送邮件,支持普通文本、附件、html、velocity模板
- 服务器发送邮件出现Could not connect to SMTP host错误 解决办法
- 关于DBGrideh出现Dataset not in edit or insert mode
- Spring 发送带有内嵌图片和附件的邮件的java程序
- PHPMailer发送邮件,出现无法连接host (Could not connect to SMTP host)
- SmtpClient发送邮件遭遇The specified string is not in the form required for a subject.
- org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in read-only mode (FlushMode.NEVER)
- java邮件开发(8、用spring发送HTML嵌套图片并带附件)
- 使用Spring提供的Open Session In View而引起Write operations are not allowed in read-only mode (FlushMode.NEVE
- myeclipse中发送邮件出现Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream