SMTP электронная почта RECALL из PHP - PullRequest
3 голосов
/ 14 января 2010

Прежде всего я знаю, что отзыв электронной почты редко работает, а затем, как правило, только на сервере Microsoft Exchange.

Несмотря на ограничения, клиент запросил эту функцию.

Насколько я понимаю, функциональность RECALL в Microsoft Exchange является проприетарным расширением протокола SMTP и отправляет клиенту новое электронное письмо с запросом на RECALL. Затем клиент делает все возможное, чтобы отозвать сообщение.

Я не нашел документации о том, что такое расширение RECALL для SMTP, и мне не очень нравится вытаскивать wireshark для того, чтобы отследить его. Я нашел предложение по расширению SMTP для RFC http://tools.ietf.org/html/draft-leiba-morg-message-recall-00, и я предполагаю, что это похоже на решение Microsoft.

Поскольку наше решение основано на PHP, поэтому я спрашиваю: Существует ли в PHP метод отправки запроса на возврат SMTP для ранее отправленного электронного письма?

С уважением Dagfinn

Ответы [ 3 ]

3 голосов
/ 17 февраля 2010

Не думаю, что это имеет какое-либо отношение к SMTP.

Скорее, если вы попытаетесь отправить сообщение об отзыве на свою учетную запись электронной почты, не управляемую Outlook, вы увидите, что это просто сообщение электронной почты. Я предполагаю, что либо принимающий сервер Exchange, либо ваш клиент Outlook распознает такие сообщения и выполнит соответствующее действие.

Содержание сообщения отзыва кажется довольно простым, и в заголовках писем нет ничего интересного. Тело сообщения (которое, к сожалению, я не могу просмотреть в виде простого текста, где я сейчас нахожусь) просто говорит:

Джон Доу хотел бы напомнить сообщение "тема foo bar".

В любом случае, я сомневаюсь, что любая библиотека электронной почты PHP поддерживает это "из коробки". Тем не менее, это должно быть довольно легко реализовать, поскольку, вероятно, вам просто нужно создать правильный шаблон электронной почты и заполнить пробелы темой, именем и, возможно, идентификатором сообщения.

1 голос
/ 14 января 2010

Клиент специально запрашивает совместимость с Exchange и RECALL, или он использует это в качестве примера того, что ему нужно?

Если это последнее, я предлагаю вам предложить альтернативное решение, используя льготный период до того, как электронная почта будет отправлена ​​на SMTP-сервер. Для пользователя это будет выглядеть так, будто электронное письмо отправлено, но она сможет отменить отправку в течение льготного периода (например, 10 минут).

- Alf

0 голосов
/ 31 августа 2017

Существует расширение SMTP для сообщения Recalling с 2010 года, однако кажется, что ни один из SMTP-серверов не поддерживает это.

https://tools.ietf.org/id/draft-leiba-morg-message-recall-00.html#anchor1

...