我正在使用 IMAP 从我的谷歌帐户读取电子邮件,但无法找到一种方法来检查是否存在具有确切数字的电子邮件或为什么会发生此错误。
这是我的代码,所以基本上我建立一个连接,而不是搜索所有电子邮件去获取来自特定发件人列表的列表,然后运行处理函数
$mail_conn = imap_open($this->hostname, $this->username, $this->password);
...
$emails = imap_search($mail_conn, 'FROM ' . $sender, SE_UID);
$results = $this->process($mail_conn, $emails);
处理函数看起来像这样
……
foreach ($emails as $email_number)
{
$email_structure = imap_fetchstructure($mail_conn, $email_number, FT_UID);
......
我试图删除 FT_UID 但同样的错误仍然存在。你有什么建议该怎么做?
我调试时得到的是:
在电子邮件中 imap_search 返回
[emails] => Array
(
[0] => 513384
[1] => 513501
[2] => 514079
)
我开始处理这个 id
[email_number] => 513384
发生该错误后。