मैं जावा कोड का एक टुकड़ा लिख रहा हूं जिसे गैर-ASCII नाम वाले उपयोगकर्ताओं को मेल भेजने की आवश्यकता है। मैंने यह पता लगाया है कि शरीर, विषय पंक्ति, और जेनेरिक हेडर के लिए यूटीएफ -8 का उपयोग कैसे किया जाए, लेकिन मैं अभी भी प्राप्तकर्ता पर फंस गया हूं।गैर-ASCII नाम वाले प्राप्तकर्ता को javax.mail.internet.MimeMessage भेजें?
यहां "मैं:" फ़ील्ड में मुझे क्या चाहिए: "ウィキペディアにようこそ" <[email protected]>
। यह recip
नामक एक स्ट्रिंग में (आज हमारे उद्देश्यों के लिए) रहता है।
msg.addRecipients(MimeMessage.RecipientType.TO, recip)
"忙俾ェ▎S]" <[email protected]>
msg.addHeader("To", MimeUtility.encodeText(recip, "utf-8", "B"))
फेंकताAddressException: Local address contains control or whitespace in string ``=?utf-8?B?IuOCpuOCo+OCreODmuODh+OCo+OCouOBq+OCiOOBhuOBk+OBnSIgPA==?= =?utf-8?B?Zm9vQGV4YW1wbGUuY29tPg==?=''
कैसे हो मैं इस संदेश को भेजने करना चाहिए देता है?
- शरीर एचटीएमएल:
msg.setText(body, "UTF-8", "html");
- हेडर:
यहाँ कैसे मैं अन्य घटकों संभाला है
msg.addHeader(name, MimeUtility.encodeText(value, "utf-8", "B"));
- विषय:
msg.setSubject(subject, "utf-8");
संबंधित प्रश्न और समाधान: http://stackoverflow.com/a/5650455/923560 – Abdull