Почему imap_header иногда не получает адрес получателя письма?
Прохожусь по письмам за определенный период времени, получаю заголовки с помощью imap_header и вывожу с помощью print_r.
Почти все письма содержат to - массив объектов из поля To:, со следующими свойствами: personal, adl, mailbox и host.
Нахожу письмо, в котором отсутствует массив to. И при просмотре всего полученного с помощью imap_header из этого письма, адрес получателя там отсутствует вообще. По адресу отправителя и времени нахожу это письмо через веб-интерфейс почтового ящика, и там адрес получателя конечно же присутствует и как у прочих писем помечен как "Envelope-to:"
Вопрос: почему imap_header не получает адрес получателя?
Чем больше знаю, тем лучше понимаю, как мало знаю.
Ничего не понятно. Но интересноооо!
P.S. А, так Envelope-To и есть адрес из "MAIL TO: ad@dre.ss", на который письмо адресовано и прийдёт. Именно его обрабатывает SMTP-сервер. А заголовок To: может в письме отсутствовать, либо быть фальшивым, зависит от сервера-отправителя.
IvanRivan, его надо подправить на использование Envelope-To:, если обычный To: просто отсутствует...
А, посмотрел документацию, понял. Мда, ситуация. Даже не знаю, как вам решать эту проблему. Разве что использовать какую-нибудь imap библиотеку...
P.S. Или imap_fetchheader(), например?
AUser0, дело в том что просматриваю вообще все содержимое ответа imap_header и там нет ничего напоминающего адрес получателя. imap_header вообще не получает нужной информации стало быть? Может вместо imap_header другой метод imap получает Envelope-To?
А вот тут приходит в ответе вместе с Envelope-to:. Благодарю за наводку.
Envelope-to вообще всегда должен быть, даже если отправляли ставя в копию или же скрытую копию с еще 100 получателями и во всех прочих случаях? Т.е. если письмо пришло в определенный ящик, то какими бы хитрыми путями оно не отправлялось, то во всех случаях всегда будет Envelope-to: и адрес ящика, на который пришло вне зависимости от всего остального?
IvanRivan, совершенно верно, SMTP работает именно с Envelope-To, который (я раньше ошибся) соответствует SMTP-шному "RCPT TO:", который ВСЕГДА присутствует, иначе SMTP не узнает, а кому же надо письмо то это доставить...