shaokun305的专栏

做J2EE一流架构师 E-Mail:shaokun305@gmail.com

陈少坤ID:shaokun305
138101次访问,排名562好友0人,关注者1
shaokun305的文章
原创 154 篇
翻译 0 篇
转载 22 篇
评论 227 篇
shaokun305的公告
留言板 New
这里是我一个温馨的港湾,记录下我的生活成长和技术成长的经历,随着岁月的流逝,这里将是我的一个最美丽的回忆.
最近评论
wangbin3961:果然有效!
jinxinzhang:应该加catalina.sh里面吧

你可以在页面打印出内存看看,效果
miracle9i:非常详细 谢谢
wadefelix:当被记者问及是不是现在房地产价格太贵,已经让老百姓买不起时,汪光焘解释说,如果现在房子没有销售了,“你这个结论是可以的”,但现在还有人买,所以这个结论“不好说”。(郭少峰)
///
这样的话都敢说,这就是在为房地产商撑腰嘛,恳请总理把他撤了。
guojingDua:炒股票。买基金这篇文章怎么打不开呀。。。
文章分类
收藏
相册
稿笑图库
美女
java相关站点
CSDN
java世界
java研究组织
java解道
与java共舞
中国java
深入struts1.1
朋友的友情连接
http://blog.csdn.net/asklxf/
lxgljj
同事老朱的博客
戈壁草的博客
老康得网站
存档
软件项目交易
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
订阅到BlogLines
订阅到Yahoo
订阅到GouGou
订阅到飞鸽
订阅到Rojo
订阅到newsgator
订阅到netvibes

转载 使用Spring的javamail注意的中文问题 收藏

新一篇: spring和struts整合中注意的问题 | 旧一篇: 学习如逆水行舟,不进则退!

使用Spring 的封装的MailSender,确实省事多了!
但在使用中,还是得注意些问题

1.增加验证,否则会报:553 authentication is required 的错误信息
Properties prop = new Properties();
prop.setProperty("mail.smtp.auth", "true");
JavaMailSenderImpl.setJavaMailProperties(prop);

2.当邮件内容是HTML语言时的中文问题:
初始化MimeMessageHelper辅助类时,设置"GBK" encoding!
如:
MimeMessageHelper messageHelp = new MimeMessageHelper(message,true,"GBK");
同时在设置:<META http-equiv=Content-Type content='text/html; charset=GBK'>
如果都设置为"UTF-8",在某些邮件客户端标题是冷僻字时,不能正常显示!

3.邮件附件的中文问题!
spring的文档里面说MimeMessageHelper设置了encoding,同时对title,text,attach产生作用,但还是会出问题:
解决方法:MimeUtility.encodeWord(file.getName());就OK了!

以下是可以运行的代码
SendMailDemo.java
Java代码 复制代码
  1.   
  2. import java.io.File;   
  3. import java.io.UnsupportedEncodingException;   
  4. import java.util.Properties;   
  5.   
  6. import javax.mail.MessagingException;   
  7. import javax.mail.internet.MimeMessage;   
  8. import javax.mail.internet.MimeUtility;   
  9.   
  10. import org.springframework.mail.javamail.JavaMailSenderImpl;   
  11. import org.springframework.mail.javamail.MimeMessageHelper;   
  12.   
  13. public class SendMailDemo {   
  14.     public  void send163ByMutil() throws MessagingException {   
  15.         JavaMailSenderImpl javaMail = new JavaMailSenderImpl();   
  16.         javaMail.setHost("smtp.163.com");   
  17.         javaMail.setPassword("passowrd");   
  18.         javaMail.setUsername("username");   
  19.         Properties prop = new Properties();   
  20.         prop.setProperty("mail.smtp.auth""true");        
  21.         javaMail.setJavaMailProperties(prop);   
  22.         MimeMessage message = javaMail.createMimeMessage();   
  23.         MimeMessageHelper messageHelp = new MimeMessageHelper(message,true,"GBK");   
  24.         messageHelp.setFrom("likun35@163.com");   
  25.         messageHelp.setTo("likun35@163.com");   
  26.         messageHelp.setSubject("邮件测试");   
  27.         // messageHelp   
  28.         String body = "<html><head><META http-equiv=Content-Type content='text/html; charset=GBK'></HEAD><title>test</title></head><body>dear 小燕子 \n ";   
  29.         body+="<red>This is Text!</red> pic <img src='cid:a'></img><br>hello<img src='cid:b'></img></body></html>";   
  30.         messageHelp.setText(body, true);   
  31.         messageHelp.addInline("a"new File("E:/xiezi.jpg"));   
  32.         messageHelp.addInline("b"new File("E:/logo.png"));           
  33.         File file=new File("E:/Favorites中文文件.rar");        
  34.         try {   
  35.             messageHelp.addAttachment(MimeUtility.encodeWord(file.getName()), file);   
  36.         } catch (UnsupportedEncodingException e) {             
  37.             e.printStackTrace();   
  38.         }   
  39.         javaMail.send(message);   
  40.     }   
  41.     public static void main(String[] args) throws MessagingException {         
  42.         SendMail send=new SendMail();   
  43.         send.send163ByMutil();   
  44.   
  45.     }   
  46. }  
 

发表于 @ 2008年03月12日 22:20:00|评论(loading...)|编辑

新一篇: spring和struts整合中注意的问题 | 旧一篇: 学习如逆水行舟,不进则退!

评论:没有评论。

发表评论  


当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
Csdn Blog version 3.1a
Copyright © shaokun305