java發(fā)送郵件亂碼解決方法:
//設(shè)置郵件主題 message.setSubject(MimeUtility.encodeText(mail_subject,MimeUtility.mimeCharset("gb2312"), null)); message.setContent(sendmessage, "text/html;charset=gbk"); // 設(shè)置郵件格式 message.setSentDate(new Date()); // 設(shè)置郵件發(fā)送日期 //設(shè)置郵件發(fā)件人名稱 Address address = new InternetAddress(usernames, MimeUtility.encodeText(personalName,MimeUtility.mimeCharset("gb2312"), null));
當(dāng)一段 Text 或者 HTML 通過電子郵件傳送時,發(fā)送的內(nèi)容首先通過一種指定的字符編碼轉(zhuǎn)化成“字節(jié)串”,然后再把“字節(jié)串”通過一種指定的傳輸編碼(Content-Transfer-Encoding)進行轉(zhuǎn)化得到另一串“字節(jié)串”。
郵件的標(biāo)題,用了一種更簡短的格式來標(biāo)注“字符編碼”和“傳輸編碼”。