![在 Windows 上配置本地 SMTP 服务器以通过 gmail 进行中继的最简单方法是什么?](https://linux22.com/image/502000/%E5%9C%A8%20Windows%20%E4%B8%8A%E9%85%8D%E7%BD%AE%E6%9C%AC%E5%9C%B0%20SMTP%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%BB%A5%E9%80%9A%E8%BF%87%20gmail%20%E8%BF%9B%E8%A1%8C%E4%B8%AD%E7%BB%A7%E7%9A%84%E6%9C%80%E7%AE%80%E5%8D%95%E6%96%B9%E6%B3%95%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F.png)
我们的公司电子邮件提供商是 Gmail。
我希望能够通过smtp.gmail.com
ASP.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 时):
我正在使用此 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