2012-09-21 14 views
12

प्ले 1.2.4 में। आप मानक टेम्पलेट्स तंत्र और वाक्यविन्यास (link) का उपयोग करके जटिल, गतिशील ई-मेल भेज सकते हैं, यह वास्तविक कोयोल दिखता है हालांकि मैंने इसका उपयोग नहीं किया है। क्या ऐसी चीजों में सक्षम Play2.0 के mailer plugin है?ईमेल टेम्पलेट्स प्ले में स्कैला टेम्पलेट्स के रूप में?

उत्तर

17

यदि "जटिल, गतिशील ई-मेल" से आपका मतलब टेम्पलेट पर आधारित HTML ईमेल बॉडी है, तो आप Play 2.0 के साथ ऐसा ही कर सकते हैं।

तुम सिर्फ उदाहरण mailBody.scala.html के लिए, टेम्पलेट पर आधारित एक नया दृश्य बनाना होगा:

@(user:User) 

<h3>Welcome @user.name</h3> 
<br/> 
.... 

फिर, अपने विधि है जो एक ईमेल भेजता है, तो आप बस अपने को देखने के render() विधि कॉल करने के लिए है:

public static void sendMail(User user) { 

    MailerAPI mail = play.Play.application().plugin(MailerPlugin.class).email(); 
    mail.setSubject(...); 
    mail.addRecipient(user.email); 
    mail.addFrom(...); 

    String body = views.html.mailBody.render(user).body(); 
    mail.sendHtml(body); 

} 
+0

हाहा, मुझे बस यह पता चला, मैन मुझे इस ढांचे से प्यार है! सिर्फ एक अतिरिक्त सवाल: .toString() और आपके सुझाव के बीच क्या अंतर होगा: .body() ?? – adis

+0

स्रोत कोड से, यह वही है: https://github.com/playframework/Play20/blob/master/framework/src/play/src/main/scala/play/api/templates/Templates.scala#L28 –

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