我有一些噩梦般的 IMAP 代码,这让我花了很长时间来编写代码。当 7.x 是当前的 PHP 时,我做到了,并且多年来我一直使用它来将我的电子邮件提取到我的 PHP 系统中,没有任何这样的问题。
昨天,PHP 8 终于作为“GA”(稳定版)发布了。我更新了。果然,更新软件时总会有一些奇怪的问题。现在,我的 IMAP 代码用这些废话淹没了日志:
imap_msgno(): Bad message number
相关代码片段:
$message_number_array = imap_search($specific_mailbox_connection, 'ALL', SE_UID);
if (count($message_number_array))
{
foreach ($message_number_array as $message_number)
{
$header_info = imap_headerinfo($specific_mailbox_connection, imap_msgno($specific_mailbox_connection, $message_number));
我已经双重验证这$message_number_array
确实是一个整数数组,没有别的。它直接来自imap_search
. 这些号码怎么可能是“坏消息号码”?
是的,我一直在到处使用 UID。与昨天与 PHP 7.4.12 完美配合时相比,我的代码没有任何改变。
像往常一样,当我搜索时,网上的相关信息为零。
在这种情况和这种情况下我该怎么办?我什至不明白这是怎么可能的——更不用说我将如何解决它了。