4

我正在为我兄弟的公司建立一个网站。网站上最重要的元素是邮件功能。访问者可以使用该系统向我的兄弟发送电子邮件,这一点很重要。所以我使用了这段代码:

message.From = new MailAddress("someemail@somedomain.com");
message.To.Add(new MailAddress("emailaddress"));
message.CC.Add(new MailAddress("emailaddress"));
SmtpClient client = new SmtpClient("smtp.live.com", 587);
client.EnableSsl = true;
client.Credentials = new System.Net.NetworkCredential("emailaddress","password");
client.Send(message);

代码运行良好,但有一个问题:我需要填写密码,但我不想这样做。有没有办法使用 MD5 哈希(或其他某种加密)或其他东西来保护我的密码?

4

2 回答 2

6

SMTP(协议底层电子邮件)要求以纯文本形式提供密码。

您已经在保护通信通道,这应该可以防止网络上的电子邮件密码被截获。

您可以将密码本身放入web.config 的加密元素中以保护它处于静止状态。

最后,考虑一个仅用于此目的的帐户。将电子邮件从该帐户转发到您兄弟的帐户。如果密码被泄露,请删除该帐户并创建一个新的转发帐户。

于 2012-09-10T21:07:18.293 回答
0

System.Net可以在 app.config 或 web.config 中设置 smtp 电子邮件对象的详细信息

http://msdn.microsoft.com/en-us/library/w355a94k(v=vs.90).aspx

如果您在配置文件中设置了密码,则可以加密该部分以防止粗略读取您的密码。但最终密码需要作为字符串提供。

于 2012-09-10T21:11:09.240 回答