获得一个邮件应用程序来识别Reply-To电子邮件php


Get a mail application to recognize a Reply-To email php

我不知道如何让邮件应用程序(除了google mail)识别出作为"Reply-To"发送的电子邮件,并将这些电子邮件分组为一个已发送和已回复的电子邮件列表。

例如,使用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);


发送两次,我会收到两封不同的邮件。而不是由两封邮件组成的一封邮件。
是否有一种方法将它们都分组在一起作为一个电子邮件回复到另一个,或者我做错了什么?
我已经阅读了php mail()文档和多个网页解释php邮件是如何工作的,仍然不能得到电子邮件回复对方。

感谢您的时间和帮助!

大多数邮件客户端通过检查Message-IDIn-Reply-ToReferences标头来处理线程。在您的第一条消息中,设置Message-ID标头,然后使用与ReferencesIn-Reply-To标头相同的值。邮件客户端应该通过放置原始Message-ID并将其与具有相关ReferencesIn-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'];
// Use as a header when constructing the email
Message-Id: $message_id

第二个消息:

// Use the same value as these two headers when constructing the reply message.
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;

reply-to标头用于指示回复应发送到与from标头中的电子邮件地址不同的电子邮件地址。

我认为Google采用了一种算法,如果消息正文的一部分包含以前发送或回复的消息的一部分的文本,或者如果主题包含Re:并且与另一组消息的主题匹配,则将消息分组在一起。但是,reply-to标头可能对将消息分组为回复没有影响。

我看没有问题。发送两封邮件的结果是收到两封邮件。这是预期的行为。GMail在UI中将它们分组在一个线程中,但在底层,甚至GMail也将它们视为两个独立的消息。这是完全独立于Reply-To头。