[英]Send email in secure way
我正在尝试制作一个发送电子邮件的简单应用程序。 我使用MailMessage
和SmtpClient
类。 SmpClient
需要登录名和密码才能工作。
是的,将密码以纯文本形式存储在应用程序的任何位置是不安全的。 不要这样做!
相反,您应该将加密的密码存储在App.config文件中(或者配置文件中的其他位置,例如machine.config):
加密和解密ApplicationConfigSections
或者,您可以在运行时向用户询问凭据。
如果要避免显式提供密码,可以通过Windows身份验证对当前登录的用户进行身份验证。 为此,您可以使用SmtpClient.UseDefaultCredentials
发送邮件。 当然,这只有在SmtpServer识别用户窗口凭据时才有效。
如果您希望免受中间人攻击和数据包嗅探,则应使用SSL传输身份验证数据。 您可以通过在配置中启用SSL或仅SmtpClient.EnableSsl
设置属性来执行此操作: SmtpClient.EnableSsl
。 (.NET> = 4.0)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.