【问题标题】:Setting SMTP in web.config dynamically from database in ASP MVC从 ASP MVC 中的数据库动态设置 web.config 中的 SMTP
【发布时间】:2014-07-06 14:04:47
【问题描述】:

我想知道是否有一种方法可以使用数据库中的数据来设置通常存储在 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 进行更改。我该怎么做?

谢谢

【问题讨论】:

    标签: asp.net-mvc


    【解决方案1】:

    您应该能够通过执行类似的操作来设置用户名密码

     string userName = "userName";
     string password = "password";
     SmtpClient client = new SmtpClient();
     client.Credentials = new NetworkCredential(userName, password);
    

    如果您愿意,只需从数据库中获取用户名和密码即可。

    但是,我想问一下,您为什么担心密码更改频繁到会出现问题?这将导致另一个数据库命中,只是因为系统管理员有一天想要更改密码的可能性很小,这通常是一件大事,因为大多数其他使用 smtp 服务器的应用程序可能会在web.config 或 app.config。根据我的经验,这样的更改通常发生在发布期间,这通常意味着无论如何都要部署代码,此时更改配置应该很容易。

    【讨论】:

      猜你喜欢
      • 2011-02-20
      • 2011-05-20
      • 2017-03-03
      • 2015-02-09
      • 2019-03-17
      • 2021-03-07
      • 2013-10-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多