2012-09-21 14 views

Odpowiedz

17

Jeśli przez "złożoną, dynamiczną wiadomość e-mail" rozumie się treść wiadomości e-mail w formacie HTML na podstawie szablonu, można to zrobić w wersji Play 2.0.

Po prostu trzeba utworzyć nowy widok na podstawie szablonu, na przykład mailBody.scala.html:

@(user:User) 

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

Następnie, w sposób, który wysyła wiadomości e-mail, wystarczy zadzwonić metoda widoku 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

Haha, właśnie to znalazłem, człowieku, uwielbiam te ramy! Tylko jedno dodatkowe pytanie: jaka byłaby różnica między .toString() a Twoją sugestią: .body() ?? – adis

+0

Z kodu źródłowego jest taka sama: https://github.com/playframework/Play20/blob/master/framework/src/play/src/main/scala/play/api/templates/Templates.scala#L28 –