加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 尝试访问App.config文件以获取邮件设置但无法正常工作

发布时间:2020-12-16 01:35:31 所属栏目:百科 来源:网络整理
导读:您好,我们有一个业务逻辑层,它有一个电子邮件服务类.在这个类中,我们有一个方法可以创建一个电子邮件(这部分工作和编译很好).但是,当我们尝试访问应用程序配置文件以便测试该方法时,我们会收到错误消息 – 无法检索应用程序配置邮件设置,并且如果不是,则表示
您好,我们有一个业务逻辑层,它有一个电子邮件服务类.在这个类中,我们有一个方法可以创建一个电子邮件(这部分工作和编译很好).但是,当我们尝试访问应用程序配置文件以便测试该方法时,我们会收到错误消息 – 无法检索应用程序配置邮件设置,并且如果不是,则表示所有值都为空.以下是我们代码的应用配置部分:

<mailSettings>
  <smtp deliveryMethod="Network" from="info@example.com">
    <network host="localhost" port="25" defaultCredentials="true"/>
  </smtp>
</mailSettings>

这里有我们用来连接app.config的代码:

private System.Net.Configuration.MailSettingsSectionGroup mailSettings;

SmtpClient client = new SmtpClient(mailSettings.Smtp.Network.Host,mailSettings.Smtp.Network.Port);

我们在这做错了什么?

解决方法

您的mailSettings变量未初始化为任何内容 – 它不会神奇地包含您的配置.

您需要使用ConfigurationManager类来访问它(如果尚未添加,请记住添加对System.Configuration的引用.)您还需要使用System.Net.Configuration添加以下代码.

SmtpSection smtpSection = ConfigurationManager.GetSection("system.net/mailSettings/smtp") as SmtpSection;

if (smtpSection != null)
{
    SmtpClient client = new SmtpClient(smtpSection.Network.Host,smtpSection.Network.Port);
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读