长话短说,我需要在客户端网络中设置一个 SMTP 服务器,以便从中发送电子邮件。这个东西永远不需要接收电子邮件,实际上只需要 1 个电子邮件帐户客户服务。
我能做些什么?我必须让网络公司在防火墙中打开一个端口吗?Microsoft Server 2003 中有内置的吗?
长话短说:客户付费网络公司将其网站迁移到内部。现在我必须弄清楚如何从他们的网站发送电子邮件,即使他们没有 SMTP 服务器。至少在我安装一个之前。
他们的电子邮件现在由 Gmail 托管(客户的域通过 Google App for Your Domain)。我更改了我的代码以作为他们的用户之一“[email protected]”连接并发送电子邮件。工作了大约 12 个小时。
突然之间,现在没有任何自动电子邮件发送出去,谷歌正在发回电子邮件,说这是永久性故障并且消息被拒绝。他们引导我访问的链接http://mail.google.com/support/bin/answer.py?answer=69585告诉我我们的电子邮件看起来像垃圾邮件。他们不是。它们是我们发送给客户的关于其申请状态的电子邮件。说真的,它们不是垃圾邮件。
您可以使用 IIS 在内部设置 SMTP 服务器,将其电子邮件中继到智能外部电子邮件服务器,但这可能不是您真正的问题。但是,它将为您提供从服务器发送邮件的中心管理点。
为了帮助邮件服务器知道您有权发送邮件,您可以在 DNS 配置中创建SPF 记录。这让邮件服务器知道您的地址被授权代表您发送电子邮件。
如果您无法使用它,您还可以使用像AuthSMTP这样的提供商从垃圾邮件列表中的位置发送电子邮件。
除了 ongle 的建议之外,不要配置智能主机(您可能无法使用它),而是添加一个地址空间为 *.com 的远程域,并设置传入电子邮件可以中继到该远程域的选项。这样一来,通过 SMTP 服务器将电子邮件发送到具有 [email protected] 电子邮件地址的任何收件人即可。为您将向其发送电子邮件的任何其他 gTLD(.net、.edu 等)创建远程域。
ongle 是对的:您可以通过这种方式将 Gmail 设置为 SMTP IIS 虚拟服务器的智能主机:
http://fmuntean.wordpress.com/2008/10/26/how-to-configure-iis-smtp-server-to-forward-emails-using-a-gmail-account/
这也适用于安装了 IIS 5.1 的 SMTP 服务的 XP 机器(刚刚用我的机器测试过)。
注意:如果您还没有,我建议您在 gmail 中创建一个 [email protected] 电子邮件用户,并将其用作您的 SMTP 凭据以通过 gmail 进行身份验证,因为 gmail 将忽略您在 from: 标头中输入的内容并将其重写为经过身份验证的用户(无论如何默认情况下,我不知道您是否可以更改它)。
至于防火墙更改,除非网络公司正在进行出口(出站)防火墙过滤,否则您不需要打开任何端口,因为即使是住宅连接通常也允许使用 587。
要检查此邮箱,我建议让客户的客户服务人员 POP 或 IMAP 该帐户或简单地设置转发到另一个正在使用/检查的地址。
除了已经说过的之外,您还需要确保正确设置各种相关项目,例如您的 SPF 记录。我相信 Gmail 对这些事情很挑剔。