imap_msgno
(PHP 4, PHP 5, PHP 7, PHP 8)
imap_msgno — Gets the message sequence number for the given UID
说明
imap_msgno(IMAP\Connection
$imap
, int $message_uid
): int
Returns the message sequence number for the given
message_uid
.
This function is the inverse of imap_uid().
参数
-
imap
-
IMAP\Connection 实例。
-
message_uid
-
The message UID
返回值
Returns the message sequence number for the given
message_uid
.
更新日志
版本 | 说明 |
---|---|
8.1.0 |
现在 imap 参数接受 IMAP\Connection
实例,之前接受 资源(resource)。
|

User Contributed Notes 3 notes
phpdocu at malli dot co dot at ¶
1 month ago
Here is a simple working snippet to properly check the return value of imap_msgno():
$id = imap_msgno($imapConnection, $mailUid); //convert to normal messagenumber in current context
$verifyUid = imap_uid($imapConnection, $id);
if ($verifyUid != $mailUid)
throw new Exception("Attention: imap_msgno returned nonsense! The mail was probably not found in the mailbox!");
os at simonconsulting dot at ¶
11 years ago
For me, this function returns FALSE if uid does not match a message in the current mailbox.
dcridland.at.redwire.com ¶
20 years ago
<p>Note that imap_msgno() doesn't ever give you an error message. So, assuming you're passing about message numbers as a UID, be warned that:</p>
<p>$msguid = false;<br>
$msgno = imap_msgno( $your_initialized_connection, $msguid );</p>
<p>Will leave ($msgno==1) - this is probably not what you want, and it's surprisingly easy to miss while you're doing the basic testing.</p>