如何在web.config中添加电子邮件配置设置并从中检索相同的设置?

时间:2014-07-10 06:27:15

标签: c#

我想在web.config中添加以下smtp客户端配置,并在后面的c#代码中使用它。

    var smtp = new SmtpClient
    {
        Host = "smtp.gmail.com",
        Port = 587,
        EnableSsl = true,
        DeliveryMethod = SmtpDeliveryMethod.Network,
        UseDefaultCredentials = false,
        Credentials = new NetworkCredential("feedback.****", "*****"),
    };

怎么做?

1 个答案:

答案 0 :(得分:1)

你有几种选择......

1-如果使用.NET Framework SmtpClient类,您可以在web.config文件中设置此信息,以将其用作默认设置,这样您就不必在代码中指定它们。

<system.net>
    <mailSettings>
      <smtp deliveryMethod="network" from="ben@mailserver.com">
        <network
          host="localhost"
          port="25"
          defaultCredentials="true"
        />
      </smtp>
    </mailSettings>
  </system.net>

MSDN Smpt documentation ...

中的更多信息

2-或者,您可以设置appSettings元素中的设置,然后在需要时检索设置...

的web.config

<appSettings>
    <add key="EmailHost" value="mail.domain.com"/>
    <add key="EmailPort" value="25"/>
  </appSettings>

代码

var smtp = new SmtpClient
    {
        Host = ConfigurationManager.AppSettings["EmailHost"],
        Port = int.Parse(ConfigurationManager.AppSettings["EmailPort"])
    };