PHPMailer:设置自定义标题以在退回电子邮件中标识它
问题描述:
我使用PHPMailer发送电子邮件。当电子邮件被退回时,它会转到如下帐户:[email protected]PHPMailer:设置自定义标题以在退回电子邮件中标识它
在我管理此帐户([email protected])的电子邮件客户端中,我可以选择添加过滤器以重定向根据“主题”,“发件人”,“收件人”等字段的比较结果,发送给任何其他电子邮件帐户的电子邮件。那很好。
的问题是,反弹的电子邮件丢失所有我的头/主题......我设置与PHPMailer的,因为它是总是服务器组成的,因为它遵循:
- 主题:未发送电子邮件而返回发件人
- 来源:[email protected]
- 要:[email protected]
- 日期:今天HH:MM
所以我没有引导标记用于添加过滤器。
那么,有没有什么办法可以在PHPMailer中设置一个标记(如自定义标题等),REMAINS在退回的电子邮件中?例如,像有这个:
- 主题:未发送邮件退回寄件人(bounce_redirect)
所以在主题(或地方)单词“bounce_redirect”将表明我的电子邮件客户端,这电子邮件必须重定向。
在此先感谢。
答
不幸的是,你不能在头文件中强制这个问题;唯一的解决方法是使用VERP addressing,这是唯一可以保证它保留关于消息和它最初发送到的地址的信息的方法。 MS Exchange通常发送没有提及消息发送到的原始地址的退回消息,因此VERP是唯一的解决方案。
对于你的榜样,典型的VERP地址是:
[email protected]
您的邮件服务器将被设置为点的account_bounces
前缀和删除,并转换=
为@
在当地的部分提取原始地址。
在PHPMailer的您将设置此作为Sender
属性,如:
$mail->Sender = '[email protected]';
这将被用作SMTP邮件寄件者,和由接收服务器转换为Return-Path
报头,并且因而将当消息被反弹时用作To地址。
您可以进一步阅读并在Sender
地址中嵌入附加信息,该地址可用于识别邮件列表,特定邮件等。
哇,非常感谢Synchro !,你保存了一天。我很迷茫。但是你把我带到了正确的地方。我做了一些修改并且工作(我用“+”而不是“ - ”)。如下所示:$ mail-> Sender ='[email protected]'; – Hector