繁体   English   中英

安全地发送电子邮件

[英]Send email in secure way

我正在尝试制作一个发送电子邮件的简单应用程序。 我使用MailMessageSmtpClient类。 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM