这对你来说很奇怪.
我正在使用Ipipi SMS来发送电子邮件服务,以便将控制命令发送到PHP脚本.
我可以将电子邮件发送到我的邮箱,然后使用PHP-IMAP命令读取和显示它们,如以下代码段所示:
$overview = imap_fetch_overview($inBox,$email_number,0);
$message = imap_fetchbody($inBox,$email_number,2);
echo $message;
如果我将短信发送到邮箱imap_fetchbody,它将返回空.
但是,如果我随后使用电子邮件客户端读取邮箱,则会显示该邮件.我不认为这是一个Ipipi问题.
如果我执行var_dump($message),我会得到string(0)“”.
解决方法:
当你发出
$message = imap_fetchbody($inBox,$email_number,2);
您要求提供消息第2部分的内容. (这就是third argument to imap_fetchbody
的含义.)
string imap_fetchbody ( resource $imap_stream , int $msg_number ,
string $section [, int $options = 0 ] )
很难知道如果没有能够从SMS网关看到示例消息,但我猜你的消息不是多部分,因此它没有第2部分.如果用1代替2在获取此特定消息时?
(一般情况下,您需要在决定要获取哪个正文部分之前查看消息结构.您可以使用imap_fetchstructure
.)