我刚将play框架升级到2.5.x.我用play mail 5.0.0重构了邮件发送功能。但是,当我尝试发送电子邮件时,我得到参数与签名不匹配的错误。
如何在不必定义路径的情况下实现MailHandler类?
class MailHandler @Inject()(mailer: MailerClient, val messagesApi: MessagesApi, environment: Environment) extends Controller with I18nSupport{
def sendEmail(...) = {
mailer.send(....)
}
controllers.mail.MailHandler m = new controllers.mail.MailHandler();
m.sendAuthenticationSubmitEmail(user.email, type);
答案 0 :(得分:0)
如果您正在编写一段使用依赖注入的组件(在您的情况下为MailHandler
)的代码,则需要在构造函数(new MailHandler(mailer, messagesAp, ..)
)中传递该依赖项或你也需要注入那个组件。
在典型的播放控制器中,这可能如下所示:
class MyController @Inject() (myMailerHandler: MailHandler) {
m.sendAuthenticationSubmitEmail(user.email, type);
}