从Windows 7服务器发送电子邮件(使用gmail SMTP)

时间:2013-06-07 13:42:35

标签: c# email iis smtp gmail

有许多线程与此相关,我的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防火墙。

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

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

我们已阅读与此相关的所有帖子,似乎没有任何工作。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

我们能够通过打开本地安全策略来解决问题&gt; <本地计算机上的IP安全策略>右键单击“数据包过滤器”,然后单击“取消分配”。

这对我们有用。

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