java - यह जावा मेल प्राप्तकर्ता में html के बजाय सादा पाठ क्यों आता है?




email smtp (2)

मुझे एक ईमेल भेजने के लिए यह कोड है:

public static void sendHtmlTextWithPlainTextAlternative(final String to,
    final String from, final String subject, final String plainText,
    final String htmlText) throws MessagingException {

    final HtmlEmail email = new HtmlEmail();
    email.setHostName(SMTP);
    try {
        email.addTo(getStringAddresses(to));
        email.setFrom(from);
        email.setSubject(subject);
        email.setHtmlMsg("<html><head></head><body><p>Hello World!</p></body></html>");
        email.setTextMsg("Hello World!");
        email.send();
    } catch (final EmailException e) {
        e.printStackTrace();
    }
}

private static String[] getStringAddresses(final String to) {
    return to.split(" |,|;|\\r?\\n|\\r");
}

लेकिन मेरे ईमेल क्लाइंट (आउटलुक 2010) में मुझे एक सादा पाठ संदेश मिलता है जहां मुझे एचटीएमएल मार्कअप और वैकल्पिक सादा पाठ या रिच टेक्स्ट मैसेज है जो खाली है (आउटलुक 2002)।

यहां एक अंश है

------=_Part_0_756354128.1364993577885
Content-Type: multipart/alternative; boundary="----=_Part_1_48519531.1364993577890"

------=_Part_1_48519531.1364993577890
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Hello World!
------=_Part_1_48519531.1364993577890
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit

<html><head></head><body><p>Hello World!</p></body></html>
------=_Part_1_48519531.1364993577890--

------=_Part_0_756354128.1364993577885--

एक एक्सचेंज सर्वर व्यवस्थापक के अनुसार, संदेश में इस तरह से कुछ शुरुआत होनी चाहिए

0 2.1.5 Recipient OK
DATA
354 Start mail input; end with <CRLF>.<CRLF>

Content-Type: multipart/mixed; boundary="----=_Part_1_933059347.1364987366297"

लेकिन यह (अंश) जैसे आता है:

250 2.1.5 Recipient OK
DATA
354 Start mail input; end with <CRLF>.<CRLF>

This is the content preamble.
------=_Part_1_933059347.1364987366297
Content-Type: multipart/alternative; boundary="----=_Part_0_1905186593.1364987366295"

ईमेल एक खाली विषय और खाली प्राप्तकर्ता सूची के साथ आता है। क्या इस अजीब व्यवहार का कारण सकता है?


मैं अपना अपाचे कॉमन्स देख रहा हूं?

सिर और शरीर टैग को निकालने का प्रयास करें

तो आपके पास होगा

    email.setHtmlMsg("<html><p>Hello World!</p></html>");

एक और चीज है जो अंतर नहीं करनी चाहिए लेकिन आप कोशिश कर सकते हैं ईमेल के लिए सही valur सेट कर रहा है .setHostName ("mail.myserver.com");

रिफ कॉमन्स ईएमएल उपयोगकर्ता गाइड

और जीमेल अकाउंट में मेल भेज सकते हैं, हो सकता है कि सर्वर में टेक्स्ट की अनुमति और एचटीएमएल हटाने के लिए कोई सेटिंग है? क्या आप जीमेल (अमीर स्वरूपण) से समान मेल आईडी एचडीएम भेज सकते हैं?


समाधान खोजने के लिए पता लगाने के बाद काफी आसान था और मुझे सिडरिक चाम्पेओ को धन्यवाद देना होगा। यह गेरोनिमो-जावमेल के साथ एक संघर्ष था जिसे एक और मेवेन निर्भरता के माध्यम से खींच लिया गया था। मुझे बस उस निर्भरता को बाहर करने के लिए करना था: अपाचे सीएक्सएफ + मैवेन + जवामेल + लॉग 4 जे (अद्यतन)





apache-commons