У меня есть следующие детали SMTP, сохраненные в web.config
<system.net>
<mailSettings>
<smtp from="isds@ixtent.com">
<network host="mail.domain.com" port="25" userName="username" password="password" defaultCredentials="true"/>
</smtp>
</mailSettings>
</system.net>
Как я могу получить эти значения из c# класса.
Configuration configurationFile = WebConfigurationManager
.OpenWebConfiguration("~/web.config");
MailSettingsSectionGroup mailSettings = configurationFile
.GetSectionGroup("system.net/mailSettings") as MailSettingsSectionGroup;
if (mailSettings != null)
{
int port = mailSettings.Smtp.Network.Port;
string host = mailSettings.Smtp.Network.Host;
string password = mailSettings.Smtp.Network.Password;
string username = mailSettings.Smtp.Network.UserName;
}
А как же:
string fullpath = @"C:\FullPath\YourFile.config";
string configSection = "system.net/mailSettings";
Configuration config = ConfigurationManager.OpenExeConfiguration(fullpath);
MailSettingsSectionGroup settings =
config.GetSectionGroup(configSection) as MailSettingsSectionGroup;
Если вам нужно отправлять электронную почту с этим почтовым сервером, вам не нужно читать настройки и применять. Эти настройки применяются неявно в приложении.
Если вы читаете их по какой-либо другой причине, я собирался написать что-то похожее на ответ Дарина. Но как раз когда я писал, я обнаружил, что он ответил, поэтому, пожалуйста, обратитесь к его ответу, если вам действительно нужно прочитать. :)
.