PHP 邮件不在“收件人”标题中显示“收件人”

Posted

技术标签:

【中文标题】PHP 邮件不在“收件人”标题中显示“收件人”【英文标题】:PHP Mail Don't Show "To" in "To" Header 【发布时间】:2011-03-26 11:06:14 【问题描述】:

我想制作一个类似于 cPanel 的电子邮件转发器,我在其中有一个电子邮件地址数据库,以及它们应该转发到的位置,并且我设置了一个包罗万象的管道来传输到我的脚本。

我已经完成了这个脚本,但是,我想让标题中的“收件人:”字段显示它被发送到的地址,而不是被发送到的地址。例如,电子邮件发送到 user001@mydomain.com,脚本将其转发到 me@gmail.com。如何让 php 向 me@gmail.com 发送邮件,但仍像 cPanel 一样在标题中显示 user001@mydomain.com?

【问题讨论】:

到目前为止你有什么?你有没有设置任何标题?还是您只使用默认的 mail() 函数? 我正在设置 To、From、CC、Date 和 Content-Type。根据 PIM 的回答,我也尝试设置为,但它不起作用:( 我也尝试过密件抄送,但这意味着消息会返回到服务器,因为“收件人”仍然是 @mydomain。我可以添加一个 X-Processed 标头,但是将每条消息处理两次似乎效率低下。 【参考方案1】:

您可以使用邮件功能的标题:

$to = 'me@gmail.com';
$subject = 'Testing';
$message = 'This is a test';
$headers .= 'To: User001 <user001@mydomain.com>, User002 <user002@mydomain.com>' . "\r\n";
$headers .= 'From: My Email Script <me@gmail.com>' . "\r\n";
mail($to, $subject, $message, $headers);

【讨论】:

不起作用。这使得它们都显示在 To 标头中(2 To 标头在电子邮件中)

以上是关于PHP 邮件不在“收件人”标题中显示“收件人”的主要内容,如果未能解决你的问题,请参考以下文章

使用 Gmail 新 API 发送带有附件的邮件,但不会显示在收件人的收件箱中

PHP 邮件:多个收件人?

PHP Gmail API:可以发送电子邮件但如何添加收件人电子邮件

PHP表单向多个收件人发送电子邮件

Python发送的邮件设置收件人隐藏与显示

如何在 PHP 中更改管道转发的电子邮件“发件人”和“收件人”部分