正如标题所说,“System :: Net :: Mail :: SmtpClient”需要将'SmtpClient :: EnableSsl'设置为true的端口是什么?
documentation on the EnableSsl
property表示备用连接方法的默认端口是465,但未提及支持支持的连接类型的用途。
修改 - 如果它有所作为,我在这个例子中连接到Gmail,但欢迎使用通用答案。
答案 0 :(得分:7)
要使用System :: Net :: Mail :: SmtpClient和SSL向Gmail发送邮件,您必须使用端口587 ,如GMail API中所述。
端口25和587在GMail上都可用,但是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,在使用STARTTLS切换到SSL并完成SMTP事务之前,首先打开未加密的SMTP会话。后者是.Net SMTP客户端实现的方法。
答案 1 :(得分:0)
使用Wireshark进行的快速测试表明,默认情况下答案是端口25
客户端使用STARTTLS重新使用最初未加密的链接,以便随后发送加密数据。
答案 2 :(得分:0)
除端口25外,端口587是SMTP客户端的公共端口,可与SSL配合使用。您可能会发现this answer有用。