【问题标题】:What ports does a 'System.Net.Mail.SmtpClient' need with 'SmtpClient.EnableSsl' set to true?将“SmtpClient.EnableSsl”设置为 true 时,“System.Net.Mail.SmtpClient”需要哪些端口?
【发布时间】:2014-03-03 06:14:39
【问题描述】:

正如标题所说,当 'SmtpClient::EnableSsl' 设置为 true 时,'System::Net::Mail::SmtpClient' 需要哪些端口?

documentation on the EnableSsl property 表示替代连接方法的默认端口是 465,但没有提及它确实支持的连接类型所使用的端口。

编辑 - 如果有影响,我会在这种情况下连接到 Gmail,但欢迎提供通用答案。

【问题讨论】:

    标签: port smtpclient


    【解决方案1】:

    要使用 System::Net::Mail::SmtpClient 和 SSL 向 Gmail 发送邮件,您必须使用端口 587,如 GMail API 中所述。

    GMail 上的端口 25 和 587 都可用,但 Port 587 will require a SMTP authentication before sending a mail,而端口 25 不可用。鉴于端口 25 不需要发件人身份验证,GMail 将更积极地过滤来自不是正确邮件服务器的 IP 地址的连接,以减少垃圾邮件。

    GMail API 也允许使用端口 465,但不能将它与 System::Net::Mail::SmtpClient、as documented by Microsoft 一起使用。端口 465 用于 SMTP over SSL:首先建立 SSL 连接,然后执行 SMTP 事务。使用端口 25 和 587,首先打开未加密的 SMTP 会话,然后使用 STARTTLS 切换到 SSL 并完成 SMTP 事务。后者是.Net SMTP客户端实现的方法。

    【讨论】:

    • 所以首选端口 587 但端口 25 也可以?当您说“通常 25 岁”时,您是什么意思?
    • 我的错,GMail 上打开了 25 和 587 端口。我的意思是端口 25 在邮件服务器上总是可用的,587 并不总是可用的。
    【解决方案2】:

    使用 Wireshark 进行的快速测试表明答案默认为 25 端口

    客户端使用 STARTTLS 重新使用最初未加密的链接以随后发送加密数据。

    【讨论】:

    【解决方案3】:

    SMTPClient .NET Framework 中未实现基于 SSL 的 SMTP。

    您必须使用端口:587。

    另一种连接方法是在发送任何协议命令之前预先建立 SSL 会话。这种连接方法有时称为 SMTP/SSL、SMTP over SSL 或 SMTPS,默认使用端口 465。目前不支持这种使用 SSL 的替代连接方法。

    MSDN SMTPClient doc

    【讨论】:

      【解决方案4】:

      除端口 25 外,端口 587 是 SMTP 客户端的常用端口,可与 SSL 配合使用。您可能会发现this answer 很有用。

      编辑 - 如果您尝试连接到 Gmail,请参阅 herehere

      【讨论】:

      • 但显然不是我在问题中提到的客户。还是有可能在某些情况下使用其中任何一个端口?
      • 我在我的生产代码中使用System.Net.Mail.SmtpClient 通过我们的 Microsoft Exchange 服务器在端口 587 上发送邮件,它绝对有效,SSL 和所有。我还用它通过 Gmail 发送邮件(请参阅 here)。如果您无法连接,可能是您的 SMTP 服务器没有启用该端口,或者它可能被某处的防火墙阻止。
      • 您是否明确设置了该端口?我使用的是默认值,所以也许这就是区别?
      • 是的,你需要明确设置587端口。
      猜你喜欢
      • 1970-01-01
      • 2020-02-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-12
      • 2018-10-07
      • 2012-02-10
      • 2011-08-14
      相关资源
      最近更新 更多