मैं एक ईमेल भेज रहा हूं और मैं इसे सही तरीके से प्राप्त कर रहा हूं लेकिन विषय का एन्कोडिंग सही नहीं है। मैं "invitación" भेज रहा हूँ लेकिन मुझे "invitaci? N" प्राप्त हो रहा है। संदेश की सामग्री ठीक है।ईमेल भेजने पर विषय एन्कोडिंग के साथ समस्या
संदेश की सामग्री एक वेग चर के परिवर्तन से आ रही है जबकि विषय स्ट्रिंग चर में सेट है।
मैंने चारों ओर गुगल किया है और मैंने देखा है कि कुछ लोग कहते हैं कि MimeUtility.encodeText() समस्या को हल कर सकता है, लेकिन मुझे इसके साथ कोई सफलता नहीं मिली है।
मैं समस्या को कैसे हल कर सकता हूं? यह वह कोड है जो मैंने अभी तक किया है।
String subject = "Invitación";
String msgBody = VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, "/vmTemplates/template.vm", "UTF-8", model);
Properties props = new Properties();
Session session = Session.getDefaultInstance(props, null);
try {
String encodingOptions = "text/html; charset=UTF-8";
Message msg = new MimeMessage(session);
msg.setHeader("Content-Type", encodingOptions);
msg.setFrom(new javax.mail.internet.InternetAddress(emailFrom));
msg.addRecipient(Message.RecipientType.TO, new InternetAddress(emailTo));
msg.setSubject(subject);
msg.setContent(msgBody, encodingOptions);
Transport.send(msg);
} catch (AddressException e) {
...
} catch (MessagingException e) {
...
}
धन्यवाद
'संदेश' का एकमात्र भेजा गया सबक्लास' MimeMessage' है। मैं संदेह कर रहा हूं कि किसी ने भी एक और उप-वर्ग लागू किया है। जावामेल कम गड़बड़ी होगी अगर वे सिर्फ 'javax.mail' और' javax.mail.internet 'को ध्वस्त कर देंगे - अबास्ट्रक्शन की अतिरिक्त परत का मतलब है कि आप लगातार उप-वर्ग में कास्टिंग कर रहे हैं। – dkarp
इसने मेरी समस्या का समाधान नहीं किया (विषय पंक्ति में £ प्रतीक भेजना) –
@ मार्क: आपने 'msg.setSubject (" \ u00a3 "," UTF-8 ") की कोशिश की और यह विषय को ठीक से एन्कोड नहीं किया? परिणामी विषय शीर्षलेख में क्या था? – dkarp