получить значение атрибута "from" из конфигурации клиента smtp asp.net в файле web.config - PullRequest
1 голос
/ 22 марта 2011

Как получить значение атрибута "from" из конфигурации SMTP-клиента asp.net в файле web.config?

<mailSettings>
  <smtp deliveryMethod="Network" from="administrator@somewebsite.com">
    <network host="somehosting" userName="someusername" password="somepassword"/>
  </smtp>
</mailSettings>

Ответы [ 2 ]

1 голос
/ 21 октября 2013

Другой подход заключается в использовании именованных разделов:

Конфигурация приложения:

<configuration>
  <configSections>
   <sectionGroup name="mailSettings">
    <section name="DefaultSmtpProvider" type="System.Net.Configuration.SmtpSection"/>
   </sectionGroup>
  </configSections>

 <mailSettings>
  <DefaultSmtpProvider from="YourAddress@YourDomain.com">
   <network host="@host" userName="@userName" password="@password" defaultCredentials ="false" />
  </DefaultSmtpProvider>
 </mailSettings>
</configuration>

Код инициализации:

SmtpSection smtpSettings = (SmtpSection)ConfigurationManager.GetSection("mailSettings/DefaultSmtpProvider");
var message= new MailMessage(smtpSettings.From, recipientAddress};

Это также позволит вам иметь несколько SMTPнастройки в одном конфиге на случай, если вам когда-нибудь понадобится переключить smtpClients.Я забыл заявить, вам придется вручную создать клиент smtp, если используется этот подход:

new SmtpClient
        {
            DeliveryMethod = smtpSettings.DeliveryMethod,
            Host = smtpSettings.Network.Host,
            UseDefaultCredentials = smtpSettings.Network.DefaultCredentials,
            Credentials = new NetworkCredential(smtpSettings.Network.UserName, smtpSettings.Network.Password)
        };
1 голос
/ 22 марта 2011

Как это:

var mailSettings = (MailSettingsSectionGroup)WebConfigurationManager.GetSection("system.net/mailSettings");
string from = mailSettings.From;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...