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

C# 如何在web.config中添加电子邮件配置设置并从中检索相同的设置?,c#,C#,我想在web.config中添加以下smtp客户端配置,并在c#代码隐藏中使用它 var smtp = new SmtpClient { Host = "smtp.gmail.com", Port = 587, EnableSsl = true, DeliveryMethod = SmtpDeliveryMethod.Network, UseDefaultCredentials = false,

我想在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-如果使用.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>
代码
我认为您应该添加
asp.net
标记。请详细说明,我是新手。您可以在AppSettings中插入所需的值,或者为这种层次结构设置创建自己的自定义配置部分,使用诸如
smtp.host
smpt.port
之类的键值不是更好吗,等等?@Krumia我认为在没有上下文的情况下使用任意命名约定没有任何好处。关键是appSettings键可以是您喜欢的任何字符串,由开发人员(或团队)遵循特定的命名约定……这可能是对不同问题的回答
<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"])
    };