2012-09-21 61 views

回答

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 –