我一直在努力寻找答案,但到目前为止却惨败。我最近的尝试是从此处的堆栈代码中删除的: 使用C#通过Gmail SMTP服务器发送电子邮件,但是我尝试了在堆栈中和其他位置可以找到的所有语法。我的代码当前是:
var client = new SmtpClient("smtp.gmail.com", 587) { Credentials = new NetworkCredential("me@gmail.com", "mypass"), EnableSsl = true }; client.Send("me@gmail.com","me@gmail.com","Test", "test message");
运行该代码使我立即遇到异常“发送邮件失败”,它带有一个内部表达式“无法连接到远程服务器”。
如果我将端口更改为465(如gmail docs所建议),则每次都会超时。
我读过465不是一个很好的端口,所以我想知道587会带来什么问题,导致我无法连接。我的用户和密码正确。我读到我必须在gmail帐户上设置POP服务,所以我做到了。徒劳无功。
我本来是想为我的品牌GMail帐户使用此功能,但是遇到同样的问题(我 认为使用 常规的gmail帐户会更容易…),到目前为止,情况并非如此。
我尝试了您的代码,它完全可以在端口587上运行,但不能在465上运行。
你检查过防火墙了吗?从命令行“ Telnet smtp.gmail.com 587”尝试,如果返回“ 220 mx.google.com ESMTP ....”,则说明该端口已打开。如果没有,那会阻碍您的通话。
丹尼尔