2016-09-05 16 views
0

У меня есть почтовая программа Play, настроенная в файле application.conf с одним идентификатором электронной почты. как я могу изменить электронную почту динамически во время выполнения? Идея состоит в том, чтобы настроить несколько идентификаторов электронной почты в одном приложении воспроизведения. например; для продажи, электронная почта должна быть отправлена ​​из [email protected] и для покупки, [email protected]Как установить значение для ключа в файле application.conf в Play Framework (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

Play Configuration wraps Typesafe Config, который является неизменным. Таким образом, вы не можете изменить конфигурацию после создания. Вы можете создать другую конфигурацию, основанную на этом, переопределяя некоторые свойства.

+0

Что означает, что у меня может быть несколько файлов конфигурации с разными настроенными идентификаторами электронной почты? –

+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

 Смежные вопросы

  • Нет связанных вопросов^_^