我们有我们的企业电子邮件提供商的Gmail。
我希望能够通过ASP.NET的smtp.gmail.com发送邮件。 我已经设法做到了这一点 – 它有所有发送的项目出现在gmail中正确的发送项目文件夹的好处。 但是,连接smtp.gmail.com可能需要2-3秒的时间。 偶尔甚至会完全失败。 由于这是ASP.NET应用程序,我需要能够可靠地发送电子邮件。 我不想去创build一个我自己的电子邮件守护进程 – 我只是想依靠SMTP。
我已经尝试过使用IIS6上的虚拟SMTP服务器,但一直没有得到它的工作。 显示活动的current session长达一分钟,然后消失。
我需要使用像sendmail这样做 – 或者一些其他免费的SMTP中继,让我更好的控制? 我甚至发现了一个名为“ Gmail SMTP Relay ”的sourceforge项目,而且我们使用的是托pipe服务器 安装 – 它有自己的SMTP服务器。
我更喜欢graphics – 而最重要的是我更喜欢Microsoft SMTP服务器,因为我已经安装了它。
我打了几个星期。 以下是我在3个使用SMTP网关发送电子邮件的ASP.NET网站上使用的设置:
地址:smtp.gmail.com端口:587
1)港口非常重要。 您可能需要在SMTP服务器中inputsmtp.gmail.com:587。 多年来我没有碰到微软的SMTP,所以我不记得安装程序的样子。
2)确保为SMTP启用SSL ,因为gmail需要它。
3)SMTPauthentication应该设置为基本 。
4)确保您使用的是实际的电子邮件而不是电子邮件别名进行身份validation。 这个给了我很多麻烦。
这是我得到它的工作。
在这里find这个解释正是我需要的(当使用IIS):
我使用这个C#代码发送邮件
var client = new SmtpClient("127.0.0.1", 587); client.EnableSsl = false;
注意:我的C#应用程序和我的本地SMTP服务器之间的通信没有encryption(因此EnableSsl = false),但是我的SMTP服务器和GMAIL之间的通信是encryption的(请参阅链接的文档了解更多信息)。
重要提示:如果您使用Microsoft SMTP客户端中继邮件,请确保您在“默认SMTP虚拟服务器>域列表”中没有任何域。 如果是的话,任何邮件发送到这些域将在C:\Inetpub\mailroot\Drop – 这可能不是你想要在这种情况下。 在发送邮件出现问题之后,我只是将mydomain.com重命名为(实际上) example.com 。