2012-02-13 22 views
1

我有一個jsp表單,主題,內容字段接受來自用戶的輸入。該程序發出一封郵件。這兩個字段都設置爲String對象。以日文或中文發送郵件字符後,會成爲垃圾郵件。如果主題爲「英文」,它工作正常。無法編碼日本字符主題

這是我的代碼

// create a message 
    MimeMessage msg = new MimeMessage(session); 
if(subject != null) 

     msg.setSubject(subject, "UTF-8"); 
     //msg.setSubject(subject);//commented to take care of email 

    // create the Multipart and add its parts to it 
    //MimeMultipart mp = new MimeMultipart(); 
    MimeMultipart mp = new MimeMultipart("alternative"); 

    if(body != null) 
    { 
     // create and fill the first message part 

     MimeBodyPart mbp1 = new MimeBodyPart(); 
     mbp1.setText(body); 
     mbp1.setHeader("Content-Type","text/html;charset=utf-8"); 
     mbp1.setHeader("Content-Transfer-Encoding", "quoted-printable"); 
     //mbp1.setContent(body, "text/html"); 
     mp.addBodyPart(mbp1); 
    } 

我給了主題爲在主題欄漢字 test message和發送郵件。我收到日文字符的垃圾字符。所以我得到郵件主題爲?? test message

但是當我收到郵件時仍然在主題中收到一些垃圾郵件。

+0

jsp頁面的頁面中的頁面編碼是什麼?瀏覽器使用什麼編碼? – bmargulies 2012-02-20 23:44:26

回答

1

主體字符串是如何創建的?在發送表單數據時,是否考慮到用戶瀏覽器使用的字符編碼?您是否驗證了該字符串是否包含正確的Unicode字符數據?