Получить почтовое приложение для распознавания php-сообщения с ответом - PullRequest
4 голосов
/ 04 декабря 2011

Я не могу понять, как заставить почтовое приложение (кроме почты Google) распознавать, что электронное письмо было отправлено как «Ответить», и объединить эти электронные письма в один список отправленных и отвеченных электронных писем.

Например, используя 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 mail, и до сих пор не могу заставить электронные письма отвечать друг другу.

Спасибо за ваше время и помощь!

Ответы [ 3 ]

7 голосов
/ 04 декабря 2011

Большинство почтовых клиентов обрабатывают потоки, проверяя заголовки 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

Второе сообщение:

// 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;
2 голосов
/ 04 декабря 2011

Заголовок reply-to используется для указания того, что ответ должен быть отправлен на адрес электронной почты, отличный от адреса в заголовке from.

Я думаю, что Google использует алгоритм для группировки сообщений, если часть тела сообщения содержит текст, который был частью ранее отправленного или отвеченного на сообщение, или если тема содержит Re: и соответствует теме из другой группы сообщений. Но заголовок с ответом, вероятно, не влияет на группирование сообщений в качестве ответа.

1 голос
/ 04 декабря 2011

Я не вижу здесь проблем.Два письма отправили результаты в двух полученных письмах.Это ожидаемое поведение.GMail группирует их вместе в виде потока в пользовательском интерфейсе, но под капотом даже GMail рассматривает их как два отдельных сообщения.Все это полностью не зависит от заголовка Reply-To.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...