使用gmail套接字的SMTP电子邮件

时间:2018-08-22 10:19:48

标签: c# sockets smtp

我尝试使用 Gmail SMTP 在我的项目中提供电子邮件服务, 但是当套接字连接启动时,出现此错误:

  

“连接尝试失败是因为被连接方在一段时间后未正确响应,或者连接建立失败是因为所连接的主机未能响应64.233.166.109:25”。

这是代码的一部分:

private static string SmtpServer = "smtp.gmail.com";

private enum SMTPResponse : int
{
    CONNECT_SUCCESS = 220,  
    GENERIC_SUCCESS = 250,
    DATA_SUCCESS = 354,
    QUIT_SUCCESS = 221
}

public static bool Send(MailMessage message)
{
    IPHostEntry IPhst = Dns.GetHostEntry(SmtpServer);
    IPEndPoint endPt = new IPEndPoint(IPhst.AddressList[0], 25);
    Socket s = new Socket(endPt.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
    s.Connect(endPt);
}

1 个答案:

答案 0 :(得分:0)

尝试使用端口587而不是端口25。

端口25用于SMTP服务器到SMTP服务器SMTP通信。
端口587用于客户端到服务器的smtp通信。

到端口25的传出连接经常被阻止以停止传出垃圾邮件。
与端口587的连接需要某种身份验证。

https://en.wikipedia.org/wiki/Mail_submission_agent