springSide 使用javaMailSender发送MimeMessage出错的问题

tjone 2008-09-03 06:09:11
今天碰到一个奇怪的问题,敬请高手解答
我重写SpringSide的DefaultMailService类中的send方法
发送SimpleMailMessage是成功的,可是乱码问题不好解决
MimeMessageHelper helper = new MimeMessageHelper(mimeMsg, true, "utf-8");这句话好像没什么作用,所以我改用MimeMessage

代码如下:
public void send(SimpleMailMessage msg, String templateName, Map model){
mimeMsg = mailSender.createMimeMessage();
mimeMsg.setFrom(new InternetAddress(msg.getFrom()));
mimeMsg.setRecipient(Message.RecipientType.TO, new InternetAddress(msg.getTo()[0]));
msg.setSubject(msg.getSubject());
Multipart mp=new MimeMultipart();
MimeBodyPart mbpContent=new MimeBodyPart();
mbpContent.setText(content,"UTF-8");
mp.addBodyPart(mbpContent);
mimeMsg.setSentDate(new Date());
mailSender.send(mimeMsg);
}
运行报错org.springframework.jms.listener.adapter.ListenerExecutionFailedException: Listener method 'sendEmail' threw exception; nested exception is org.springframework.mail.MailSendException; nested exceptions (1) are:
Failed message 1: javax.mail.MessagingException: IOException while sending message;
nested exception is:

我再改写代码 Properties props = new Properties();
props.put("mail.smtp.host", "192.168.91.15");
props.put("mail.transport.protocol", "smtp");
props.put("mail.smtp.auth", "true");
Session session = Session.getInstance(props, new Authenticator(){
protected javax.mail.PasswordAuthentication getPasswordAuthentication(){
return new javax.mail.PasswordAuthentication("mdsadmin", "support");
}
});
mimeMsg = new MimeMessage(session);
mimeMsg.setFrom(new InternetAddress("tjtianjing@sohu.com"));
mimeMsg.setRecipient(Message.RecipientType.TO, new InternetAddress("jingt2@HTHK.com"));
mimeMsg.setSubject("test");
Multipart mp=new MimeMultipart();
MimeBodyPart mbpContent=new MimeBodyPart();
mbpContent.setText(content,"UTF-8");
mp.addBodyPart(mbpContent);
mimeMsg.setContent(mp);
mimeMsg.setSentDate(new Date());
mailSender.send(mimeMsg);

发送成功,我想问一下这到底是什么原因,有人说上面报错是因为j2ee5的包和mail.jar,activation.jar起冲突,我已经把j2ee5的包放到mail.jar,activation.jar后加载,并且后一种方法在同一个环境下跑是可以的,请高手帮忙解释一下,尤其是熟悉springSide框架的
...全文
410 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
笨沙发 2008-09-09
  • 打赏
  • 举报
回复
帮你顶
www203 2008-09-09
  • 打赏
  • 举报
回复
应该是包冲突的
xsx1985 2008-09-09
  • 打赏
  • 举报
回复
估计是用SpringSide的不太多
tjone 2008-09-05
  • 打赏
  • 举报
回复
发了两天,没人回答,是不是发错版面了

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧