电子邮件模板作为Play中的scala模板?

时间:2012-09-21 21:24:36

标签: playframework-2.0

在Play 1.2.4中。您可以使用标准模板机制和语法(link)发送复杂的动态电子邮件,虽然我没有使用它,但这看起来真的很酷。 Play2.0的mailer plugin能够做到这一点吗?

1 个答案:

答案 0 :(得分: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);

}