Дмитрий Н.
Новичок
Всех приветствую.
Предо мной поставлена задача вычисления длительности доставки писем от отправителя (О) до получателя (П), причём О может пользоваться любыми почтовыми серверами, а к серверу П имеется доступ по IMAP.
Функция imap_headerinfo возвращает объект с основной частью данных заголовка, где есть поля:
date - дата отправки письма
udate - дата в unixtime
В этом моменте и возник вопрос, что на самом деле представляет из себя udate? При тестировании на нескольких различных почтовых сервисах, от яндекса до яху, разница между этими полями составляет от 4-х до 5-ти сеунд, что вроде-бы похоже на время прохождения письма по цепочкам MTA, но терзают смутные сомнения...
Смотрел вывод другой функции imap_fetchheader, где возвращаемое значение представлено в виде строки из всех полей заголовка, где присутствуют поля Received, в количестве нескольких штук, в которых указаны временные метки получения письма данным конкретным MTA. Теоретически можно парсить их, выбирая максимальное время и вычитать из него значение поля Date. Но выглядит это заморочено...
Какие ещё можно попробовать методы для решения данной задчи?
Предо мной поставлена задача вычисления длительности доставки писем от отправителя (О) до получателя (П), причём О может пользоваться любыми почтовыми серверами, а к серверу П имеется доступ по IMAP.
Функция imap_headerinfo возвращает объект с основной частью данных заголовка, где есть поля:
date - дата отправки письма
udate - дата в unixtime
В этом моменте и возник вопрос, что на самом деле представляет из себя udate? При тестировании на нескольких различных почтовых сервисах, от яндекса до яху, разница между этими полями составляет от 4-х до 5-ти сеунд, что вроде-бы похоже на время прохождения письма по цепочкам MTA, но терзают смутные сомнения...
Смотрел вывод другой функции imap_fetchheader, где возвращаемое значение представлено в виде строки из всех полей заголовка, где присутствуют поля Received, в количестве нескольких штук, в которых указаны временные метки получения письма данным конкретным MTA. Теоретически можно парсить их, выбирая максимальное время и вычитать из него значение поля Date. Но выглядит это заморочено...
Какие ещё можно попробовать методы для решения данной задчи?