我无法弄清楚如何获取邮件应用程序(谷歌邮件除外)以识别电子邮件是作为"回复"发送的,并将这些电子邮件组合在一起作为发送和回复电子邮件的列表.
例如,使用php,如果我使用
$header = "From: Testing <email@mail.com>\r\n" .
"Reply-To: email@mail.com\r\n" .
"X-Mailer: PHP/" . phpversion();
$to = "email@mail.com";
$message = "This is a reply";
$subject = "test 123";
$success = mail($to, $subject, $message, $header);
Run Code Online (Sandbox Code Playgroud)
并发送两次,我收到两封单独的电子邮件.而不是由两封电子邮件组成的一封电子邮件.
有没有办法将它们组合在一起,因为一封电子邮件回复给另一封电子邮件,或者我做错了什么?
我已经阅读了php mail()文档和多个网页,解释了php邮件是如何工作的,仍然无法让电子邮件相互回复.
感谢您的时间和帮助!
大多数邮件客户端句柄检查丝扣Message-ID,In-Reply-To和References头.在第一条消息中,设置Message-ID标题,然后使用References与In-Reply-To标题相同的值.邮件客户端应通过放置原始内容Message-ID并将其与具有相关References和In-Reply-To标题的邮件进行匹配来对它们进行分组.
第一条消息:
// Create a unique value for message id based on time, random value, and the hostname
$message_id = md5(time() . rand()) . $_SERVER['HTTP_HOST'];
Message-Id: $message_id
Run Code Online (Sandbox Code Playgroud)
第二条消息:
// Use the same value as these two headers.
References: $message_id
In-Reply-To: $message_id
// Also, you should set a new unique message-id for this one
$new_message_id = md5(time() . rand()) . $_SERVER['HTTP_HOST'];
Message-ID: $new_message_id;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1626 次 |
| 最近记录: |