C# 如何在web.config中添加电子邮件配置设置并从中检索相同的设置?
我想在web.config中添加以下smtp客户端配置,并在c#代码隐藏中使用它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,
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"])
};