Другой подход заключается в использовании именованных разделов:
Конфигурация приложения:
<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)
};