在 Windows 上配置本地 SMTP 服务器以通过 gmail 进行中继的最简单方法是什么?

在 Windows 上配置本地 SMTP 服务器以通过 gmail 进行中继的最简单方法是什么?

我们的公司电子邮件提供商是 Gmail。

我希望能够通过smtp.gmail.comASP.NET 发送邮件。我已经成功地做到了这一点 - 并且它的好处是所有已发送邮件都出现在 gmail 中正确的已发送邮件文件夹中。但是,连接到 可能需要长达 2-3 秒的时间smtp.gmail.com。有时它甚至会完全失败。由于这是 ASP.NET 应用程序,我需要能够可靠地发送电子邮件。我不想去创建自己的电子邮件守护程序 - 我只想依赖 SMTP。

我尝试过在 IIS6 上使用虚拟 SMTP 服务器,但无法使其工作。活动状态current session最多显示一分钟,然后消失。

我需要使用类似的东西吗发送邮件做这个- 或者其他一些可以让我更好地控制的免费 SMTP 中继?我甚至找到了一个名为“Gmail SMTP 中继'-我们使用的托管服务器有 已安装 - 它有自己的 SMTP 服务器。

我更喜欢图形化的东西 - 最重要的是,我更喜欢 Microsoft SMTP 服务器,因为我已经安装了它。

答案1

我为此奋斗了几个星期。以下是我在使用 SMTP 网关发送电子邮件的 3 个 ASP.NET 网站上使用的设置:

地址:smtp.gmail.com 端口:587

1) 端口非常重要。您可能需要在 SMTP 服务器中输入 smtp.gmail.com:587 之类的端口。我已经多年没有接触过 Microsoft SMTP 了,所以我记不清设置屏幕是什么样子的。

2)确保启用SSL对于 SMTP,因为 gmail 需要它。

3)SMTP 身份验证应设置为基本的

4) 确保你使用真实的电子邮件而不是电子邮件别名进行身份验证。这个给我带来了很多麻烦。

这就是我让它工作的方法。

答案2

在这里找到了我所需要的解释(使用 IIS 时):

http://fmuntean.wordpress.com/2008/10/26/how-to-configure-iis-smtp-server-to-forward-emails-using-a-gmail-account/

我正在使用此 C# 代码发送邮件

var client  = new SmtpClient("127.0.0.1", 587);
client.EnableSsl = false;

注意:我的 C# 应用程序和本地 SMTP 服务器之间的通信未加密(因此 EnableSsl=false) - 但我的 SMTP 服务器和 GMAIL 之间的通信加密(更多信息请参阅链接的文档)。

重要提示:如果您使用 Microsoft SMTP 客户端来中继邮件,请确保“默认 SMTP 虚拟服务器 > 域”列表中没有任何域。如果是这样,任何发送到这些域的电子邮件最终都会进入- 这可能不是您在这种情况下想要的。在遇到外发邮件实际上没有发出的问题后,C:\Inetpub\mailroot\Drop我刚刚将其重命名mydomain.com为(字面意思) 。example.com

相关内容