Доступ к настройкам SMTP-почты из файла Web.Config с помощью С#

Вам нужно прочитать мои настройки электронной почты SMTP, определенные в разделе system.net в моем файле web.config.

Ниже приведен пример настройки электронной почты SMTP, определенной в файле web.config: (В разделе)

<system.net>
<mailSettings>
<smtp deliveryMethod="Network" from="[email protected]">
<network defaultCredentials="true" host="localhost" port="25" userName="user" password="testPassword"/>
</smtp>
</mailSettings>
</system.net>

Как получить доступ к настройке почты SMTP с помощью С#

Ответ 1

Вы можете использовать WebConfigurationManager:

Configuration configurationFile = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);
MailSettingsSectionGroup mailSettings = configurationFile.GetSectionGroup("system.net/mailSettings") as MailSettingsSectionGroup;

Response.Write(mailSettings.Smtp.Network.Host);

Ответ 2

Просто используйте классы System.Net.Mail для отправки своих электронных писем. Он автоматически примет настройки Mail из вашего web.config.

Ответ 3

Связанный... Если вы получаете доступ как с сайта, так и от приложения, этот код может пригодиться.

Configuration config;

bool isWebApp = HttpRuntime.AppDomainAppId != null;

if (isWebApp)
{
    config = WebConfigurationManager.OpenWebConfiguration(HttpContext.Current.Request.ApplicationPath);
}
else
{
    config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
}

var mailSettings = config.GetSectionGroup("system.net/mailSettings") as MailSettingsSectionGroup;