मैंने एक रिपोर्ट स्वरूपित किया है और इसे नीचे की तरह एक स्ट्रिंग में सहेजा है ..

enter image description here

मैं इस सामग्री के Javax.mail का उपयोग करके एक ईमेल भेजने का प्रयास कर रहा हूं। हालांकि, स्ट्रिंग गड़बड़ हो जाती है और जब मैं ईमेल प्राप्त करता हूं तो ऐसा नहीं दिखता है।

स्ट्रिंग को ऊपर जैसा ही रखने और ईमेल प्राप्त करने का कोई तरीका है।

यहाँ ईमेल घटक है जिसका उपयोग मैं ईमेल भेजने के लिए करता हूँ। यहां छवि विवरण दर्ज करें

संदेश बॉडी में स्ट्रिंग है।

गड़बड़ रिपोर्ट इस तरह दिखती है ...

enter image description here

0
Gowtham 23 जून 2016, 00:19
कृपया वह कोड साझा करें जहां आप स्ट्रिंग के साथ मेल भेजते हैं।
 – 
Compass
23 जून 2016, 00:21
2
गड़बड़ मेल कैसा दिखता है?
 – 
andy
23 जून 2016, 00:29
एफवाईआई, कोड के लिए लोग पसंद करते हैं यदि आप वास्तविक कोड पेस्ट करते हैं, स्क्रीनशॉट नहीं। इससे आपके कोड का परीक्षण करना और परिवर्तन करना आसान हो जाता है। आपकी ASCII तालिका के लिए, मुझे लगता है कि एक स्क्रीनशॉट ठीक है।
 – 
DavidS
23 जून 2016, 00:31
1
यदि आप इसे HTML के रूप में भेज रहे हैं, तो आपको शैली, विशेष रूप से एक मोनोस्पेस्ड फ़ॉन्ट शामिल करना होगा। उस समय, आप एक तालिका का भी उपयोग कर सकते हैं।
 – 
Grayson
23 जून 2016, 00:33
ग्रेसन ने अभी जो कहा है, उसे प्रतिध्वनित करने के लिए, आपकी रिपोर्ट "गड़बड़" नहीं है; यह सिर्फ एक आनुपातिक फ़ॉन्ट में है इसलिए अब कुछ भी नहीं है।
 – 
DavidS
23 जून 2016, 00:35

2 जवाब

सबसे बढ़िया उत्तर

आप अपना messageBody इस तरह बदल सकते हैं:

messageBody = "<font face=\"courier new\" size=\"10px\">" + messageBody + "</font></p>";
message.setText(messageBody);
1
Grayson 23 जून 2016, 01:18

यह एक नमूना है, एचटीएमएल मेल कैसे बनाएं:

    MimeMessage mimeMessage = new MimeMessage(session);

    //set from, recipient, subject ...

    //wrapper
    final MimeBodyPart wrap = new MimeBodyPart();

    //Text
    MimeMultipart cover = new MimeMultipart("alternative");
    BodyPart textPart = new MimeBodyPart();
    textPart.setContent(messageBody, "text/plain; charset=utf-8");
    textPart.setDisposition(Part.INLINE);
    cover.addBodyPart(textPart);

    //HTML
    BodyPart htmlPart = new MimeBodyPart();
    htmlPart.setContent(messageBodyHtml, "text/html; charset=utf-8");
    htmlPart.setDisposition(Part.INLINE);
    cover.addBodyPart(htmlPart);

    wrap.setContent(cover);

    MimeMultipart content = new MimeMultipart("related");
    mimeMessage.setContent(content);
    content.addBodyPart(wrap);

मेल में अभी भी उन लोगों के लिए एक टेक्स्ट पार्ट है, जिन्होंने html मेल को निष्क्रिय कर दिया है। वेरिएबल messageBodyHtml में रिपोर्ट टेबल का html कोड होता है। यह इस तरह दिख रहा है:

    <table>
        <tr><th>NAME</th><th>GENDER</th>...</tr>
        <tr><td>Eddy</td><td>Male</td>...</tr>
        .
        .
        .
    </table>

उम्मीद है ये मदद करेगा।

2
andy 23 जून 2016, 00:48