如何在代码c#电子邮件客户端中保护密码

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

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哈希(或其他一些加密)或其他东西来保护我的密码?

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

您已经在保护通信通道,这可以防止在线路上拦截电子邮件密码。

您可以将密码本身放入web.config的加密元素中以保护其静止。

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

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

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

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