PHP5-IMAP «У меня нет тела!» - PullRequest
5 голосов
/ 02 марта 2011

Вот странный для вас.

Я использую Ipipi SMS для отправки электронной почты для отправки команд управления сценарию PHP.

Я могу отправлять сообщения электронной почты в свой почтовый ящик, а затем читать и отображать их с помощью команд PHP-IMAP, как в этом сегменте кода:

$overview = imap_fetch_overview($inbox,$email_number,0); $message = imap_fetchbody($inbox,$email_number,2); echo $message;

Если я отправлю смс-сообщение на mailbox imap_fetchbody, оно вернется пустым.

Однако, если я тогда прочитаю почтовый ящик с почтовым клиентом, сообщение там. Я не думаю, что это проблема Ipipi.

Если я сделаю var_dump($message), я получу string(0) "".

1 Ответ

5 голосов
/ 02 марта 2011

при выдаче

$message = imap_fetchbody($inbox,$email_number,2);

вы запрашиваете содержание части 2 сообщения. (Это то, что означает третий аргумент imap_fetchbody.)

string imap_fetchbody ( resource $imap_stream , int $msg_number ,
                        string $section [, int $options = 0 ] )

Трудно понять, не имея возможности увидеть пример сообщения из шлюза SMS, но я предполагаю, что ваше сообщение не является составным, и поэтому оно не имеет части 2. Что произойдет, если вы подставите 1 для 2 при получении этого конкретного сообщения?

(Как правило, вам нужно просмотреть структуру сообщения, прежде чем решить, какую часть тела выбрать. Для этого вы можете использовать imap_fetchstructure.)

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