2015-02-11 7 views
5

मैं उन मेल भेजने की कोशिश कर रहा हूं जिनमें विषय, संदेश निकाय और अनुलग्नक फ़ाइल नाम में यूटीएफ -8 वर्ण हो सकते हैं।जावामेल - अटैचमेंट फ़ाइल नाम यूटीएफ -8 अक्षरों को सही ढंग से प्रदर्शित नहीं कर रहा है

मैं विषय के साथ-साथ मेसेज बॉडी के हिस्से के रूप में यूटीएफ -8 अक्षरों को भेजने में सक्षम हूं। हालांकि जब मैं एक संलग्नक फ़ाइल नाम के रूप में यूटीएफ -8 अक्षरों वाले अनुलग्नक भेज रहा हूं, तो यह इसे सही तरीके से प्रदर्शित नहीं कर रहा है।

तो मेरा सवाल यह है कि मैं अटैचमेंट फ़ाइल नाम को यूटीएफ -8 के रूप में कैसे सेट कर सकता हूं?

MimeBodyPart pdfPart = new MimeBodyPart(); 
pdfPart.setDataHandler(new DataHandler(ds)); 
pdfPart.setFileName(filename); 
mimeMultipart.addBodyPart(pdfPart); 

बाद में संपादित करें:

मैं

pdfPart.setFileName(filename); 

प्रतिस्थापित

pdfPart.setFileName(MimeUtility.encodeText(filename, "UTF-8", null)); 

और यह पूरी तरह से काम कर रहा है के साथ

यहाँ मेरी कोड का हिस्सा है। धन्यवाद सब कुछ।

+2

में URIEncoding के मूल्य के कारण हो सकता है क्या आप हमें वह कोड दिखा सकते हैं जिसे आप फ़ाइल संलग्न करने का प्रयास कर रहे हैं? –

उत्तर

0

एमआईएम हेडर (जैसे Subject या Content-Disposition) यदि वे गैर-असीसी वर्ण होते हैं, तो माइम-एनकोडेड होना चाहिए।

एन्कोडिंग या तो "quoted printable" या "base64" है। मैं quoted-printable के लिए अनुशंसा करता हूं।

यहाँ देखें: Java: Encode String in quoted-printable

0

मैं नहीं जानता कि कैसे आप अनुलग्नक भेजें। अगर टॉमकैट सर्वर के माध्यम से अपलोड किया जाता है, तो यह conf/server.xml

संबंधित मुद्दे