SmtpClient和app.config system.net配置

时间:2011-08-30 14:11:50

标签: c# .net email app-config

我正在开发一个.NET 3.5库,我正在开发发送电子邮件。 我将system.net配置放入app.config

<system.net>
  <mailSettings>
    <smtp from="mail@domain.com">
      <network host="myserver.com" port="25" defaultCredentials="true" />
    </smtp>
  </mailSettings>
</system.net>

我实例化没有参数的SmtpClient:

SmtpClient client = new SmtpClient();

但是没有读取配置(我正在尝试使用NUnit测试库)并且我得到System.InvalidOperationException,因为没有读取配置,因此主机为空。

不应该自动读取配置吗?

2 个答案:

答案 0 :(得分:12)

确保将配置块(如上所示)添加到{appName} .exe.config或web.config中 - 类库的配置是在运行时从其中一个文件中获取的,而不是从应用程序中获取的。类库的配置。

答案 1 :(得分:0)

我刚刚意识到我肯定是以错误的方式做到了(还有a similar post from John about it并且解决方案就在那里......)。

邮件设置仅在应用程序级别可用,因此测试项目应了解您的设置以将其考虑在内。

感谢JohnDavide让我指向正确的方向!