Можно ли настроить параметры SMTP на портале Azure? - PullRequest
0 голосов
/ 04 февраля 2019

Я обычно помещаю свои параметры SMTP для приложений ASP.NET в элементе <mailsettings> в <system.net> в web.config.

Есть ли способ настроить их на портале Azure в разделе Параметры приложения илигде-то, или я должен управлять, отредактировав web.config?

Я не имею в виду чтение с клавиш appSetting, а затем вставку их в соответствующие свойства System.Net.Mail объектов.Я хочу, чтобы параметры, например хост, порт, учетные данные, отправитель и т. Д., Автоматически заполнялись из файла конфигурации (элемент <mailSettings>) при создании экземпляра SmtpClient.

1 Ответ

0 голосов
/ 04 февраля 2019

Я не имею в виду чтение с appSetting ключей, а затем вставку их в соответствующие свойства System.Net.Mail объектов.Я хочу, чтобы параметры, например хост, порт, учетные данные, отправитель и т. Д., Автоматически заполнялись из файла конфигурации при создании экземпляра SmtpClient.

Нет, вы не можете.

Однако существует альтернативное решение.Взгляните на Сервис приложений Настройки приложения .(Любая находящаяся там настройка переопределяет настройку с тем же именем в web.config.)

Поскольку вы используете элементы автоконфигурации элемента mailSettings, выВам придется изменить свой код, чтобы не полагаться на автоматическую настройку.Прочитайте настройки самостоятельно и примените их к вашему SmpClient.

. Вы можете создать пользовательский SmtpClient, который будет построен с использованием настроек приложения:

var smtpServerHost = CloudConfigurationManager.GetSetting("SmtpServerHost");
var smtpServerPort = int.Parse(CloudConfigurationManager.GetSetting("SmtpServerPort"));
var smtpServerUserName = CloudConfigurationManager.GetSetting("SmtpServerUserName");
var smtpServerPassword = CloudConfigurationManager.GetSetting("SmtpServerPassword");

var client = new SmtpClient(smtpServerHost, smtpServerPort);
client.Credentials = new NetworkCredential(smtpServerUserName, smtpServerPassword);

(вдохновленный этим постом: Как настроить mailSettings из службы приложений Azure - Настройки приложения )

...