簡(jiǎn)易代碼之家

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            157 Posts :: 2 Stories :: 57 Comments :: 0 Trackbacks

                 
                  最近項(xiàng)目中用到了spring的郵件功能,程序部署在客戶服務(wù)器上(操作系統(tǒng)為繁體中文),每次發(fā)送郵件時(shí)接收者的操作系統(tǒng)如果也為繁體中文則不會(huì)出現(xiàn)亂碼,如果為簡(jiǎn)體中文或英文,對(duì)于郵件標(biāo)題或內(nèi)容有中文(無論繁體與簡(jiǎn)體)的就會(huì)出現(xiàn)中文亂碼現(xiàn)象,需要"查看"-"編碼"-"Unicode(UTF-8)"才能正常看到郵件的內(nèi)容。究其原因是由于郵件的MIME沒有設(shè)定為UTF-8。最后換了一種實(shí)現(xiàn)方法解決問題。類MailSendTest中doSendMailOne()為會(huì)出現(xiàn)問題的方法,doSendMailTwo()為不會(huì)出現(xiàn)亂碼現(xiàn)象的實(shí)現(xiàn)方法。

          Spring關(guān)于mailSender的配制:

          <bean id="mailSender"
                  class
          ="org.springframework.mail.javamail.JavaMailSenderImpl">
                  
          <property name="host">
                      
          <value>mail.xxx.com</value>
                  
          </property>
              
          </bean>

          Java類MailSendTest:

          package com.jakin;

          import javax.mail.MessagingException;
          import javax.mail.internet.MimeMessage;

          import org.springframework.mail.MailSender;
          import org.springframework.mail.SimpleMailMessage;
          import org.springframework.mail.javamail.JavaMailSender;
          import org.springframework.mail.javamail.MimeMessageHelper;

          public class MailSendTest {

              
          private MailSender mailSender;

              
          public MailSender getMailSender() {
                  
          return mailSender;
              }


              
          public void setMailSender(MailSender mailSender) {
                  
          this.mailSender = mailSender;
              }


              
          /**
               * 沒有對(duì)郵件的格式編碼進(jìn)行處理,可能會(huì)有亂碼現(xiàn)象
               * 
               
          */

              
          public void doSendMailOne() {
                  SimpleMailMessage message 
          = new SimpleMailMessage();
                  message.setFrom(
          "jakin@xxx.com");
                  message.setTo(
          "lilei@xxx.com");
                  message.setCc(
          "hanmeimei@xxx.com");
                  message.setSubject(
          "第一封測(cè)試郵件");
                  message.setText(
          "Dear All:\n" + "這是一封測(cè)試郵件!");
                  mailSender.send(message);
              }


              
          /**
               * 把郵件的格式編碼設(shè)定為UTF-8,不會(huì)出現(xiàn)亂碼現(xiàn)象
               * 
               
          */

              
          public void doSendMailTwo() {
                  JavaMailSender javaMailSender 
          = (JavaMailSender) mailSender;
                  MimeMessage mime 
          = javaMailSender.createMimeMessage();
                  MimeMessageHelper helper;
                  
          try {
                      helper 
          = new MimeMessageHelper(mime, true"utf-8");
                      helper.setFrom(
          "jakin@xxx.com");
                      helper.setTo(
          "lilei@xxx.com");
                      helper.setCc(
          "hanmeimei@xxx.com");
                      helper.setSubject(
          "第二封測(cè)試郵件");
                      helper.setText(
          "Dear All:\n" + "這是一封測(cè)試郵件!");
                  }
           catch (MessagingException me) {
                      me.printStackTrace();
                  }

                  javaMailSender.send(mime);
              }

          }

          posted on 2008-07-18 16:55 Jakin.zhou 閱讀(3750) 評(píng)論(4)  編輯  收藏

          Feedback

          # re: Spring Mail中文亂碼問題 2008-07-19 10:39 si
          不錯(cuò)。。  回復(fù)  更多評(píng)論
            

          # re: Spring Mail中文亂碼問題[未登錄] 2009-03-12 17:14 jack
          韓文還是有問題,請(qǐng)問如何解決?
            回復(fù)  更多評(píng)論
            

          # re: Spring Mail中文亂碼問題[未登錄] 2010-06-01 10:45 tang
          學(xué)習(xí)了。  回復(fù)  更多評(píng)論
            

          # re: Spring Mail中文亂碼問題 2012-11-26 15:59 戒子
          無效  回復(fù)  更多評(píng)論
            


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 昌都县| 九江县| 岳阳市| 九台市| 历史| 文水县| 兴化市| 瑞昌市| 海伦市| 开鲁县| 黔南| 南丹县| 扶沟县| 米脂县| 邵武市| 连南| 长泰县| 霍城县| 通州市| 砚山县| 厦门市| 东兴市| 突泉县| 江北区| 永平县| 鄂托克前旗| 吉隆县| 图片| 文安县| 三门峡市| 仲巴县| 特克斯县| 阜宁县| 吉水县| 如东县| 休宁县| 黄骅市| 浑源县| 寻甸| 衡阳县| 太和县|