2016-09-05 25 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