Используя PHP 5.2.0-8 + etch13 на сервере LeaseWeb, у меня есть код, который обрабатывает файл, отправленный по электронной почте на определенный адрес, забирая электронную почту через imap. Я звоню imap_open
(проверяю ошибки и не обнаруживаю), получаю количество сообщений через imap_num_msg
и просматриваю, затем вызываю imap_header
для каждого. Все работает без ошибок.
Затем я проверяю if ('U' == $header->Unseen || 'N' == $header->Recent)
.
Это прекрасно работает с тем же кодом на общем сервере ModWest, но не находит новых сообщений, когда это необходимо на серверах Leaseweb и ModWest VPS. print_r
тестового электронного письма, отправленного непосредственно перед запуском кода, имеет заголовок, показывающий ...
stdClass Object
(
[date] => Tue, 24 Mar 2009 17:57:55 +0100
[Date] => Tue, 24 Mar 2009 17:57:55 +0100
[subject] => Data 200903
[Subject] => Data 200903
[in_reply_to] => <example@mail.gmail.com>
[message_id] => <example@mail.gmail.com>
[references] => <example@mail.gmail.com> <example@mail.gmail.com>
[toaddress] => data@example.com
[to] => Array
(
[0] => stdClass Object
(
[mailbox] => data
[host] => example.com
)
)
[fromaddress] => "me" <me@example.com>
[from] => Array
(
[0] => stdClass Object
(
[personal] => me
[mailbox] => me
[host] => example.com
)
)
[reply_toaddress] => "me" <me@example.com>
[reply_to] => Array
(
[0] => stdClass Object
(
[personal] => me
[mailbox] => me
[host] => example.com
)
)
[senderaddress] => me@gmail.com
[sender] => Array
(
[0] => stdClass Object
(
[mailbox] => me
[host] => gmail.com
)
)
[Recent] => N
[Unseen] =>
[Flagged] =>
[Answered] =>
[Deleted] =>
[Draft] =>
[Msgno] => 1
[MailDate] => 24-Mar-2009 17:57:55 +0100
[Size] => 8802
[udate] => 1237913875
)
- Есть ли что-то, что я делаю, что вызывает "чтение"?
- Как я могу сказать, что это "новое" сообщение.
Спасибо,
Ed