我的ASP.NET应用程序如何从web.config自动获取SMTP设置?

Met*_*uru 12 c# asp.net web-config smtpclient

我注意到我们总是这样:

SmtpClient mSmtpClient = new SmtpClient();
// Send the mail message
mSmtpClient.Send(mMailMessage);
Run Code Online (Sandbox Code Playgroud)

并且设置凭据的唯一位置是web.config:

  <system.net>
    <mailSettings>
      <smtp>
        <network host="xxx.xx.xxx.229" userName="xxxxxxxx" password="xxxxxxxx"/>
      </smtp>
    </mailSettings>
  </system.net>
Run Code Online (Sandbox Code Playgroud)

所以我的问题是,它是如何自动地将它们排除的?

dri*_*iis 19

该文档指出SmtpClient的无参数构造函数从应用程序或机器配置文件中读取其配置.对于Web应用程序,应用程序配置文件是web.config.这也意味着如果未在Web.config中设置mailSettings元素,它将在放弃之前在machine.config中查找设置:

"此构造函数使用应用程序或计算机配置文件中的设置初始化新SmtpClient的主机,凭据和端口属性."