1

有很多与此相关的线程,我的 C# 代码如下:

public const string REGISTRATION_SMTP_HOST = "smtp.gmail.com ";
public const int REGISTRATION_SMTP_PORT = 465;
public const string REGISTRATION_SMTP_LOGIN = "-----@gmail.com";
public const string REGISTRATION_SMTP_PASSWORD = "----";

// send the email
SmtpClient smtp = new SmtpClient();
smtp.Host = CommonCode.REGISTRATION_SMTP_HOST;
smtp.Port = CommonCode.REGISTRATION_SMTP_PORT;
smtp.EnableSsl = true;
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.UseDefaultCredentials = false;
smtp.Credentials = new NetworkCredential(CommonCode.REGISTRATION_SMTP_LOGIN,CommonCode.REGISTRATION_SMTP_PASSWORD);
smtp.Timeout = 300000;
smtp.Send(mm);

从我们的开发 Windows 7 机器本地运行 Web 应用程序,电子邮件已成功发送(使用端口 587)。所以我们的 gmail 凭据很好。

但是,当我们将应用程序部署到我们的服务器时,gmail SMTP 服务器无法响应。我们尝试了 465、587 和 25 端口……同样的结果。

在服务器上,我们暂时关闭了 Windows 防火墙。

从服务器上的命令行,我可以远程登录到 smpt.gmail.com 25(但不是 587 或 465)。

服务器的 IIS SMTP 设置与我们的本地工作站相同。

我们已经阅读了与此相关的所有帖子,但似乎没有任何效果。

任何帮助将不胜感激。

4

1 回答 1

2

我们可以通过打开本地安全策略 > 本地计算机上的 IP 安全策略 > 右键单击​​“数据包过滤器”并单击“取消分配”来解决该问题。

这对我们有用。

虽然这可能不安全。我们将研究安全性以找出如何在我们的服务器上打开特定端口。

于 2013-06-07T14:21:33.207 回答