2010-09-14 12 views
5

मैंने Grails Mail प्लगइन (संस्करण 0.9) के लिए कोड और दस्तावेज़ीकरण को देखा है और इसमें वह समर्थन नहीं है जिसे मैं ढूंढ रहा हूं। आप केवल एक ही शरीर को सेट कर सकते हैं और फिर एक माइम अटैचमेंट प्रदान कर सकते हैं जो स्थिर फ़ाइल को इंगित करता है। मुझे वास्तविक रूप से एक मॉडल को जीएसपी में पास करने की आवश्यकता है और इसे HTML और सादा पाठ संस्करण दोनों प्रस्तुत करना होगा और फिर उन दोनों को संदेश में उपलब्ध कराएं। यह गैर-एचटीएमएल-आधारित ई-मेल क्लाइंट को पाठ/सादा भाग और क्लाइंट प्रदर्शित करने की अनुमति देगा जो एचटीएमएल का समर्थन टेक्स्ट/एचटीएमएल भाग प्रदर्शित करने के लिए करते हैं।मैं ग्रेल्स के साथ टेक्स्ट/सादे और टेक्स्ट/एचटीएमएल भागों के साथ एक बहु-भाग ईमेल कैसे भेज सकता हूं?

क्या किसी ने Grails के साथ ऐसा किया है? क्या ऐसा करने का कोई आसान तरीका है, या क्या मुझे मेल प्लगइन को संशोधित करना है या बस जावा मेल लाइब्रेरी पर जाना है?

उत्तर

5

संस्करण 1.0 के बाद से मेल प्लगइन देशी रूप http://jira.grails.org/browse/GPMAIL-37

mailService.sendMail { 
    multipart true 
    to <recipient> 
    subject <subject string> 
    text 'my plain text' 
    html '<html><body>my html text</body></html>' 
} 
+0

मैं Grails के साथ अभी काम नहीं कर रहा हूँ में वर्णित के रूप बहुखण्डीय वैकल्पिक सामग्री का समर्थन करता है, तो मैं समय इस परीक्षण की जरूरत नहीं है, लेकिन मैं इसके लिए आपका शब्द लेगा। ;-) –

0

हम मानक ईमेल प्लगइन के साथ मल्टीपार्ट ईमेल का उपयोग करते हैं। निम्नलिखित कोड का टुकड़ा एक सेवा वर्ग में स्थित है, यही कारण है कि हम जीएसपी इंजन के बजाय मानक ग्रूवी templating का उपयोग कर रहे हैं:

 Template template = groovyPagesTemplateEngine.createTemplate(<templatename>) 
     Writable emailBody = template.make(<data model as map>) 
     StringWriter bodyWriter = new StringWriter() 
     emailBody.writeTo(bodyWriter) 

     String xml = <some xml> 

     mailService.sendMail { 
      multipart true 
      to <recipient> 
      subject <subject string> 
      body bodyWriter 
      attachBytes "filename.xml", "text/xml", xml.getBytes('UTF-8') 
     } 

महत्वपूर्ण बात यह है कि 'बहुखण्डीय सच' बंद की शुरुआत में दिखाई देता है। यदि आप

html '<b>Hello</b> World' 

उपर्युक्त बंद करने के लिए, मुझे लगता है कि आपको एक अनुलग्नक के साथ एक टेक्स्ट और HTML ईमेल मिलेगा।

0

ऐसा लगता है कि यह मेल प्लगइन के संस्करण 1.0 की संभावित सामग्री है, this और this समस्या देखें। प्रथम अंक का पैच को देखते हुए, मुझे लगता है कि एक एचटीएमएल और पाठ बहुखण्डीय संदेश बस इस तरह से बनाया जा सकता है:

mailService.sendMail { 
    multipart true 
    to <recipient> 
    subject <subject> 
    dualBody(template:<template>, model:<model>) 
} 

बहुत अच्छा होगा! कोई विचार नहीं है कि अगर यह जारी किया जाएगा हालांकि।

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

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