使用c#从Web.Config文件访问SMTP邮件设置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用c#从Web.Config文件访问SMTP邮件设置相关的知识,希望对你有一定的参考价值。

需要阅读我的web.config文件中system.net部分下定义的SMTP电子邮件设置。

以下是web.config文件中定义的SMTP电子邮件设置的一个示例:(在节下)

<system.net>
<mailSettings>
<smtp deliveryMethod="Network" from="testuser@domail.com">
<network defaultCredentials="true" host="localhost" port="25" userName="user” password="testPassword"/>
</smtp>
</mailSettings>
</system.net>

如何使用c#访问SMTP邮件设置

答案

您可以使用WebConfigurationManager:

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

Response.Write(mailSettings.Smtp.Network.Host);
另一答案

只需使用System.Net.Mail类发送您的电子邮件。它将自动从web.config中获取Mail设置。

另一答案

相关...如果您从网站和应用程序访问此代码可以派上用场。

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;    
另一答案

您可以使用此代码

Response.Write(ConfigurationManager.GetSection("system.net/mailSettings/smtp").Network.UserName)
Response.Write(ConfigurationManager.GetSection("system.net/mailSettings/smtp").Network.Host)
Response.Write(ConfigurationManager.GetSection("system.net/mailSettings/smtp").Network.Password)

以上是关于使用c#从Web.Config文件访问SMTP邮件设置的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法在 Web.config 文件的 smtp 元素中包含电子邮件地址“显示名称”? [复制]

asp.net邮件发送web.config怎么配置

如何从 Web.config 读取 system.net/mailSettings/smtp

推荐使用SMTP服务发送邮件

使用配置文件的 MailSettings 进行 SMTP 身份验证

dotnet core 2.0中appSettings.json中的SMTP设置