加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

使用MimeMessage发送中文邮件,消除乱码

(2016-02-18 16:54:03)
直接使用MimeMessage发送中文邮件,收件人往往会收到乱码,必须在发送前做字符集的声明。例子如下:

      Session mailSession = Session.getInstance(props,
        new javax.mail.Authenticator() {
         protected PasswordAuthentication getPasswordAuthentication() {
          return new PasswordAuthentication(userName,
            password);
         }
        });



      Message message = new MimeMessage(mailSession);      //创建新的MimeMessage邮件实例
      
      message.setFrom(new InternetAddress("sender@sina.com","发件人名称","utf-8"));  //设置发件人邮箱地址和名称
      message.setRecipients(Message.RecipientType.TO,
        InternetAddress.parse("receiver@sina.com"));       //设置收件人邮箱地址
      
      message.setSubject(MimeUtility.encodeText("中文邮件标题", "utf-8", "B"));  //生成邮件标题
       
      String strText="中文文件正文";        //输入邮件正文内容
      
      message.setContent(strText, "text/plain;charset=utf-8");   //生成邮件正文     
      
      Transport.send(message);         //发送邮件

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有