2011-07-20 4 views
14

http://www.oracle.com/technetwork/java/faq-135477.html#sendmpa से:मैं सादा पाठ के साथ-साथ HTML टेक्स्ट दोनों के साथ मेल कैसे भेजूं ताकि प्रत्येक मेल रीडर इसके लिए उपयुक्त प्रारूप का चयन कर सके?

आप एक MIME बहुखण्डीय/विकल्प संदेश भेजने के लिए चाहता हूँ। तुम्हें पता है, इस तरह के संदेश मूलतः एक ही तरीका है कि आप एक बहुखण्डीय/मिश्रित संदेश का निर्माण का निर्माण का उपयोग कर एक MimeMultipart वस्तु का निर्माण किया नई MimeMultipart ("वैकल्पिक") का उपयोग कर । इसके बाद आप पाठ/सादे शरीर multpart में पहले भाग के रूप में हिस्सा डालने और बहुखण्डीय में दूसरे भाग के रूप में पाठ/html शरीर के अंग सम्मिलित करें। सामग्री सामग्री के लिए आपको सादे और HTML भागों को स्वयं बनाने के लिए की आवश्यकता होगी। ऐसे संदेश की संरचना के विवरण के लिए आरएफसी 2046 देखें।

क्या कोई मुझे इसके लिए कुछ नमूना कोड दिखा सकता है?

+7

ओपी: शायद सही जवाब चिह्नित करने का समय हो सकता है? – zacheusz

+0

किसी ऐसे व्यक्ति के लिए जो अभी भी स्टैक ओवरफ्लो का उपयोग कर रहा है, तो यह स्वीकार्य उत्तर के रूप में चिह्नित करने में सक्षम होने की उम्मीद की जाएगी। –

उत्तर

54

यह मेरे अपने कोड का एक हिस्सा है:

 final Message msg = new MimeMessage(session); 
     msg.setFrom(new InternetAddress(senderAddress, senderDisplayName)); 
     msg.addRecipient(Message.RecipientType.TO, 
       new InternetAddress(m.getRecipient(), m.getRecipientDisplayName())); 
     msg.setSubject(m.getSubject()); 
     // Unformatted text version 
     final MimeBodyPart textPart = new MimeBodyPart(); 
     textPart.setContent(m.getText(), "text/plain"); 
     // HTML version 
     final MimeBodyPart htmlPart = new MimeBodyPart(); 
     htmlPart.setContent(m.getHtml(), "text/html"); 
     // Create the Multipart. Add BodyParts to it. 
     final Multipart mp = new MimeMultipart("alternative"); 
     mp.addBodyPart(textPart); 
     mp.addBodyPart(htmlPart); 
     // Set Multipart as the message's content 
     msg.setContent(mp); 
     LOGGER.log(Level.FINEST, "Sending email {0}", m); 
     Transport.send(msg); 

कहाँ m अपने ही वर्ग का एक उदाहरण है।

+0

आप एक lifesaver हो, सुबह कारण है कि मैं एक ही समय में दोनों एचटीएमएल और पाठ हो रही है पता लगाने की कोशिश बिताया है, "वैकल्पिक" परमाटर के लिए मुझे :-D –

+10

यह तय यह सही जवाब है, तो क्रेडिट कर कृपया लेखक। – user48956