在asp.net应用程序中存储SMTP凭据的最佳做法是什么?

时间:2011-05-09 21:41:01

标签: .net asp.net email web-config smtp

我创建了几个过去发送电子邮件的asp.net应用程序,但我一直不确定存储SMTP凭据的位置。我通常只是创建一个单独的XML文件来存储这些信息,但我不确定这是否是最好的方法。

为asp.net应用程序存储SMTP凭据时的最佳做法是什么?

SMTP凭据是否应存储在web.config中?

4 个答案:

答案 0 :(得分:3)

您应该问问自己:您在哪里存储连接字符串

如果 web.config 对您的数据库凭据足够安全,我看不出为什么 SMTP 应该有所不同..

所以我的选择是 - 无论您存储连接字符串

答案 1 :(得分:2)

我说明显了吗?

<configuration>
    <system.net>
        <mailSettings>
            <smtp>
            </smtp>
        </mailSettings>
    </system.net>
<configuration>

答案 2 :(得分:0)

主观标签?

如果我有我的druthers,我会存储在web.config中。我一直在那些将它们存储在数据库中的地方,只要需要发送电子邮件(yuck),就可以调用数据库获取这些凭据。

答案 3 :(得分:0)

我会建议将SMTP服务器设置为仅NTLM身份验证,并将Web应用程序作为服务器的授权用户运行。除了SMTP服务器的IP之外,不会存储任何凭据。

显然,如果您使用的是Gmail,则无法使用此选项,在这种情况下,请使用加密的用户名和密码将其存储在您自己的单独部分中。但是,您可以争辩说,如果他们可以访问您的Web配置,那么他们很可能可以访问您的源文件或可编译的二进制文件。