'System.Net.Mail.SmtpClient'需要将'SmtpClient.EnableSsl'设置为true的端口是什么?

时间:2014-02-06 10:43:17

标签: port smtpclient

正如标题所说,“System :: Net :: Mail :: SmtpClient”需要将'SmtpClient :: EnableSsl'设置为true的端口是什么?

documentation on the EnableSsl property表示备用连接方法的默认端口是465,但未提及支持支持的连接类型的用途。

修改 - 如果它有所作为,我在这个例子中连接到Gmail,但欢迎使用通用答案。

3 个答案:

答案 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有用。

修改 - 如果您尝试连接Gmail,请参阅herehere