2013-07-26 130 views
1

我在Heroku上爲我的Rails 3應用程序,我的郵件通過谷歌和通過Enom的域服務。這是爲www.challengage.comHeroku攔截一些Gmail傳入消息

這工作95%的時間,但是,有時候,當有人試圖回覆我發給他們的電子郵件時,它會失敗,出現以下錯誤消息,因爲我的電子郵件, [email protected]在收到郵件時不知何故被[email protected]所取代。我認爲這與郵件傳遞子系統有關,但我不確定。它也似乎發生在給大學專業人員發郵件時發生。

錯誤消息:

From: Mail Delivery Subsystem [mailto:[email protected]] 
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: 

[email protected] 
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. 

任何想法?

謝謝大家。

回答

1

這幾乎肯定是因爲您使用CNAME作爲電子郵件記錄。

儘管大多數電子郵件服務器在發送郵件時都會反映原始域,但其他郵件服務器會將其替換爲CNAME末尾的域。

這意味着不是發送到[email protected]而是發送到[email protected]

郵件服務器發現請求發送到[email protected],並決定它不會照看challengage.herokuapp.com等等,從它的角度來看,郵件被拒絕。

我們曾經與CloudMailin的客戶一起看到這個問題,並開始建議他們不要在涉及電子郵件的地方使用CNAMES,而只是將MX記錄直接添加到Apex域。

使用Heroku這會帶來問題,因爲您沒有可用於訪問其服務器的單個IP。我們最終最終使用Route 53來託管我們的域,然後添加一個SSL端點(以獲取負載平衡器詳細信息),然後將該負載均衡器添加到Route 53的Alias命令中,以便它自動始終提供正確的結果。或者,您可以在apex域上設置某種基於靜態IP的系統來重定向。