代表我的客户域发送电子邮件的最佳方法是什么?


15

我想知道使我的邮件服务器代表客户的域发送电子邮件的最佳方法,而不会被列入白名单,而且还避免了退回问题。

我在这里这里这里一直在阅读其他一些问题,但没有一个探讨所有可能的解决方案。我想比较一些可能性:

一种。

HELO mymailserver.com
MAIL FROM<do-not-reply@myapp.com>  # mymailserver.com same IP as myapp.com
DATA
  From: <res@client.com>
  Sender: <do-not-reply@myapp.com>

问题:这是gmail的功能。msg标头“发件人:”具有不同的域,而不是信封发件人。
emailclients将显示“ From:res@client.com通过do-not-reply@myapp.com”“ From:do-not-reply@myapp.com代表res@client.com”,这不是问题为了我。
现在,这会严重影响我的域的声誉吗,因为标头“发件人:”具有不同的域?(如果不是Google,那就去做。)

B.

HELO mymailserver.com
MAIL FROM<do-not-reply@myapp.com>
DATA
   From: <res@client.com>
   # same as A, but no "Sender:"

看起来Google曾经这样做过,并称其为 http://groups.google.com/group/Gmail-Help-Message-Delivery-en/browse_thread/thread/f651cb1db5d9dd23/3a8bcd0548487863?lnk=gst&q=%22on+behalf + of%22&pli = 1
一个错误从他们的消息中删除了“发件人:”,并且“ via”没有出现在emailclient中。(RFC表示如果它与“发件人:”不同,则必须存在)

C。

HELO mymailserver.com
MAIL FROM<res@client.com>
DATA 
  From: <res@client.com>

就像client.com正在发送邮件一样(MAIL FROM也被“欺骗”了)。但是,如果client.com域是众所周知的域,或者在其DNS中具有SPF条目,我将不得不更改其DNS,以允许mymailserver.com代表它们发送消息。(由于nb,这对我来说是不可能的)的客户,还有一些我的客户无法控制自己的域,即自己在使用@ gmail.com)

D.

HELO mymailserver.com    
MAIL FROM<do-not-reply@myapp.com>
DATA 
  From: <do-not-reply@myapp.com>
  Reply-to: <res@myclient.com>

问题:这是最简单的方法,我只添加一个“ Reply-to:”标题。电子邮件客户端是否一直在考虑这一点?是否也可以将其视为欺骗,在“ Reply-to”标头中添加不同的域,并且对我的域的声誉造成不良影响?
-RFC仅说“如果存在Reply-To字段,则答复转到该字段中指示的地址,而不是发自From字段中指示的地址”。
-只有“发件人:”标头标签会被“欺骗”:
“发件人:myclient.com(通过myapp.com)<do-not-reply@myapp.com>”。


阅读RFC时,“ SHOULD”表示强烈建议。在大多数情况下,客户端不会这样做的唯一原因是因为它很旧并且自从编写RFC以来就没有进行过更新。有关标准定义,请参见RFC 2119:ietf.org/rfc/rfc2119.txt
Matthew Scharley 2011年


不幸的是,截至2018年,许多电子邮件客户端仍然忽略Reply-To标头。meta.discourse.org/t/…–
马丁·

Answers:


2

很好的问题。我刚刚花了几个小时研究同一件事。

我以前曾部署过许多使用Option C处理电子邮件表单的网站(主要是出于天真),但是我们遇到了越来越多的传递问题。电子邮件提供商正在逐步加强工作。例如,雅虎最近更改了其DMARC政策,要求接收者拒绝所有From: ____@yahoo.com没有有效DKIM签名的电子邮件。接收遵循DMARC的SMTP服务器(其中包括Gmail,可能还包括Hotmail / Outlook.com和Yahoo)将使这些邮件硬跳。我认为,eBay和Paypal具有类似的严格政策,旨在减少网络钓鱼。不幸的是,指定“发件人”标头没有帮助。

(我不知道在发送“来自” Yahoo别名时Gmail如何解决此问题?!)

如果您知道“发件人”电子邮件没有严格的DMARC策略(可以通过简单的DNS查询来确认),则选项A是更好的选择。

尽管在视觉上吸引力最少,但选项D确实是最安全的,这也是我将在以后的大多数项目中推荐的选项。值得一提的是贝宝以前使用选项A,但现在已改用选项d

为了获得更多的信誉和增加的交付机会,我将考虑实施SPF和/或DKIM。这些内容和其他内容在Google的批量发送者指南中有所提及,我认为这很有帮助。


1

我不确定你想要什么。没有“安全”或“不安全”的方式来做您想要的事情。

我总是喜欢D)。另外,我将添加SPF记录。但是正如我所说的那样,这并不比其他方法更安全或更不安全(无论您说的是什么意思)。

Reply-To标头不以任何方式影响信誉。它仅建议客户使用该地址进行回复(Du,也许这是名称的来源?!)。如果客户遵循此建议,则无法保证。


“安全”是指将我的网域列入白名单的机会降到最低,由于我选择的解决方案,该网域被误认为是欺骗者/垃圾邮件发送者。是的,如果我选择D,则可以考虑将SPF条目添加到我的域中,并使用DKIM对邮件进行签名。
dgaspar 2011年

我已经编辑我的问题,并试图澄清..
dgaspar

@dgaspar Greylisting基于信封。因此,您的内容(发件人:,发件人:,...)将被完全忽略。由于每个人都可以将任何邮件地址写为发件人,因此每个发件人地址都被视为欺骗。除了使用SPF或DKIM签名邮件外。
mailq

0

两种可靠的解决方案:

  1. 要求客户在其SPF域记录中添加您的邮件服务器
  2. 要求客户给您一个电子邮件帐户凭据(他们的邮件服务器IP,用户名,密码),并在您的应用程序中使用它们来连接到他们的邮件服务器并发送电子邮件(您实际上在应用程序中创建了一个电子邮件客户端)。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.