在PHP mail()中使用Envelope-Sender时避免使用DMARC块

时间:2014-04-24 16:29:33

标签: php email

我们在CentOS 6.4上使用PHP为我们的业务发送电子邮件。

由于我不会进入的原因,电子邮件从用户的电子邮件地址发出(以确保他们获得所有回复和不在办公室的回复),我们的电子邮件地址为SENDER(为了解决这个问题) SPF检查)和我们的ndr邮箱作为ENVELOPE-SENDER(以捕获反弹)。在FORM地址中使用他们的电子邮件是我们不想改变的。

关注Yahoo.com& AOL.com决定使用ENVELOPE-SENDER增加他们的DMARC政策现在未通过检查(尽管指定了SENDER!)。但是,跳过这一步意味着我们不会获得任何反弹,而且我们收到这些反弹至关重要。

在邮件标题中指定RETURN-PATH并不像广泛报道的那样有效。

我错过了什么吗?

感谢。

2 个答案:

答案 0 :(得分:4)

我的公司代表我们的许多客户向其他客户发送电子邮件(为了保护收件人的匿名性,直到他们选择回复,此时电子邮件应该只在2位客户之间传送)。

我们欺骗了'来自'地址,直到最近的限制性变化。所以我要做的就是修复它:

设置发件人'和'返回路径'到' mbox@mycompany.com'。这允许接收服务器检查发送邮箱是否存在并捕获跳出。

设置回复'发送给原始发件人的电子邮件。

' customer1@something.com'

自我实施此消息后的2天内,我们收到了14封错误地发送给' mbox@mycompany.com'的电子邮件回复。 5结果是发送者点击了全部回复,我们得到了CC' ed。 4是由于发件人创建了新电子邮件并复制我们的电子邮件地址而不是使用回复。其余的,大约一半是从yahoo.com和aol.com发送的,所以我仍然在研究为什么他们在一小部分案件中不尊重回复。

基本上,我的解决方案适用于除0.003%的电子邮件以外的所有电子邮件。如果我能确定导致其余失败的原因,我将回复此答案。

答案 1 :(得分:1)

似乎信封发件人和发件人不匹配不会导致您的问题。以下是看似相关的规范部分:

https://datatracker.ietf.org/doc/draft-kucherawy-dmarc-base/?include_text=1

  

从邮件的RFC5322.From字段中提取的域名是        DMARC机制中的主要标识符。这个标识符是        与底层的结果一起使用        用于评估DMARC下结果的认证技术。

如果我正确地阅读(并且如果电子邮件收件人实际上遵循规范),那么基本上由雅虎来决定他们的决定,除了不从地址使用yahoo.com地址之外,你几乎无能为力。