1

我在 Heroku 上提供 Rails 3 应用程序,通过 Google 提供邮件,通过 Enom 提供域。这是为 www.challengage.com

这在 95% 的情况下都有效,但是,有时,当有人试图回复我发送给他们的电子邮件时,它会失败并显示以下错误消息,因为我的电子邮件 josh@challengage.com 不知何故被 josh@ 取代herokuapp.challengage.com 当他们收到它时。我认为这与邮件传递子系统有关,但我不确定。它似乎也只在向大学专业人士发送电子邮件时才会发生。

错误信息:

    From: Mail Delivery Subsystem [mailto:MAILER-DAEMON@smtp2.syr.edu]
Sent: Monday, July 15, 2013 2:08 PM
To: David DiMaggio
Subject: Undeliverable: FW: Challengage - Work Team Simulation product for interviewing evaluations

Delivery has failed to these recipients or groups:

paul@challengage.herokuapp.com
The server has tried to deliver this message, without success, and has stopped trying. Please     try sending this message again. If the problem continues, contact your helpdesk.


The following organization rejected your message: challengage.herokuapp.com.

有任何想法吗?

感谢大家。

4

1 回答 1

1

这几乎可以肯定是因为您将 CNAME 用于您的电子邮件记录。

尽管大多数电子邮件服务器在发送邮件时会反映原始域,但其他电子邮件服务器会将其替换为 CNAME 末尾的域。

这意味着不是发送给someone@challengage.com他们而是发送给someone@challengage.herokuapp.com

邮件服务器看到要发送到的请求someone@challengage.herokuapp.com并决定不处理challengage.herokuapp.com,因此从它的角度来看,邮件被拒绝了。

我们曾经在 CloudMailin 客户中看到这个问题,并开始建议他们不要在涉及电子邮件的地方使用 CNAMES,而只是利用将 MX 记录直接添加到 Apex 域。

使用 Heroku,这会带来一个问题,因为您没有可用于访问其服务器的单个 IP。我们最终使用 Route 53 来托管我们的域,然后添加一个 SSL 端点(以获取负载均衡器详细信息),然后将该负载均衡器添加到 Route 53 的 Alias 命令中,以便它始终自动提供正确的结果。或者,您可以在您的顶级域上设置某种基于静态 IP 的系统来重定向。

于 2013-07-26T14:01:14.997 回答