c# - 在不尝试发送电子邮件的情况下检查邮件服务器是否使用 SSL

标签 c# .net ssl smtp email

我正在使用 C#,在使用 .NET Framework 上可用的工具处理发送邮件例程时,我偶然发现了两种情况

  • 一台需要 SSL 的邮件服务器
  • 一个不支持 SSL 的邮件服务器

所以在使用通用的邮件发送工具时,我注意到我应该询问用户是否应该使用SSL,或者通过编码来计算。

当我尝试通过需要 SSL 的邮件服务器发送不使用 SSL 的电子邮件时,出现异常。 当我尝试通过不支持它的邮件服务器使用 SSL 发送电子邮件时,出现异常。

通过这样做,应该很容易检查我是否应该使用它。

但我想要一种更聪明的方法来做到这一点。我没有找到任何办法。有吗?

最佳答案

就我个人而言,我认为您的代码不应“自动”确定是否应使用 SSL。

当用户配置电子邮件服务时,他们应该告诉您它是如何工作的以及需要什么。

您可以通过开箱即用的 .NET SMTP 的方式看到此行为,您必须告诉它它是怎么回事。

为了进一步说明这一点,一些服务对 SSL 和非 SSL 有不同的 URL,也许用户应该使用 SSL,但您可能会让他们不小心发送错误的方式。

关于c# - 在不尝试发送电子邮件的情况下检查邮件服务器是否使用 SSL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3720988/

相关文章:

c# - 如何访问 Windows 中的特殊目录?

c# - 如何使用 EPPlus Excel Package Plus 删除空白行

c# - 使用 Rhino Mocks 获取属性

c# - 帮助理解 C# 优化

c# - ViewState 与 Session ... 通过页面生命周期维护对象

ssl - 通过 TLS(传输层安全)传输的数据大小

c++ - 从 X509* 获取主题和发行者信息

delphi - HTTPS 发布无效

c# - 一对一 Entity Framework 关系

c# - List<T>.ForEach 带索引