我想知道是否有办法使用数据库中的数据设置通常存储在web.config中的SMTP凭据。
场景是这样的:我使用SMTP服务器发送电子邮件。 SMTP凭证如下:
<smtp from="sender@domain.com">
<network enableSsl="true" host="mail.domain.com" port="2525" userName="sender@domain.com" password="password" />
</smtp>
我在想如果将来密码更改,我需要打开web.config并手动替换它。我认为如果可以从数据库中提取所有变量(来自,主机,端口,用户名和密码)会更好。因此,当我想要更改任何内容时,我将能够使用网站UI更改它。我怎么能这样做?
由于
答案 0 :(得分:0)
您应该可以通过执行类似
的操作来设置用户名密码 string userName = "userName";
string password = "password";
SmtpClient client = new SmtpClient();
client.Credentials = new NetworkCredential(userName, password);
如果您愿意,只需从数据库中获取用户名和密码。
但是我会问为什么你担心密码频繁更改这是一个问题?这将导致另一个数据库命中,因为系统管理员有可能希望有一天更改密码,这通常是一个大问题,因为大多数使用smtp服务器的其他应用程序可能会在web.config或app.config。根据我的经验,这样的更改通常发生在发布期间,通常意味着代码部署,并且此时更改配置应该很容易。