2016-09-05 28 views
0

application.conf文件一键我有一个电子邮件ID application.conf配置文件播放邮件。我如何在运行期间动态更改电子邮件?这个想法是在单个播放应用程序上配置多个电子邮件ID。例如;销售,电子邮件必须从[email protected]和转让被发送,[email protected]如何将值设置为在播放框架(Java)的2.3.x版本

smtp.host=smtp.zoho.com 
smtp.port=465 
smtp.ssl=true 
smtp.user= "[email protected]" 
smtp.password= "something" 

我可以使用Play.application().configuration().getString("smtp.host");字符串值;我们如何在运行时设置它?

回答

1

游戏配置包Typesafe Config,这是不可改变的。所以你不能在创建后修改配置。你只能根据这个配置创建另一个配置,覆盖一些属性。

+0

这意味着我可以拥有多个配置文件,不同配置的电子邮件ID? –

+1

是的,你可以。您也可以通过编程创建许多配置。但我不知道你是否可以在你的邮件程序库中使用它们。您可能想要搜索在其文档中配置邮件库的方式。 –

0

电子邮件的收件人在代码中设置,使用AddTo就方法play.libs.mailer.Email对象: https://github.com/playframework/play-mailer/blob/2.x/sample/app/controllers/ApplicationJava.java#L18

不要与您的SMTP提供商的登录名和密码相混淆。这些集application.conf: https://github.com/playframework/play-mailer/blob/2.x/sample/conf/application.conf#L65

+0

是的,我可以使用addTo方法发送给任何用户,如何配置多个SMTP提供程序。 –

+0

如果您只是想更改replyTo字段,请使用'setFrom'方法。如果你真的想使用两个不同的SMTP服务器,你可以尝试写自己的play.libs.mailer.MailerPlugin(见https://github.com/playframework/play-mailer/blob/2.x/src/main /scala/play/api/libs/mailer/MailerPlugin.scala#L55),或者通过自定义play.api.Application你自己play.libs.mailer.MailerPlugin的发送方法(见https://github.com/ playframework/play-mailer/blob/2.x/src/main/scala/play/api/libs/mailer/MailerPlugin.scala#L25) – user2595529