PHP 5.4.31 Released

imap_uid

(PHP 4, PHP 5)

imap_uidThis function returns the UID for the given message sequence number

Descrierea

int imap_uid ( resource $imap_stream , int $msg_number )

This function returns the UID for the given message sequence number. An UID is a unique identifier that will not change over time while a message sequence number may change whenever the content of the mailbox changes.

This function is the inverse of imap_msgno().

Parametri

imap_stream

Un flux IMAP întors de imap_open().

msg_number

The message number.

Valorile întoarse

The UID of the given message.

Note

Notă:

This function is not supported by POP3 mailboxes.

Vedeți de asemenea

  • imap_msgno() - Gets the message sequence number for the given UID

add a note add a note

User Contributed Notes 6 notes

up
2
steve_foley at excite dot com
11 years ago
Please note that message_id in the header is NOT the UID - and its dangerous to use as many mail progs don't put a message id in
up
1
Maikel
4 years ago
Be aware that the uid is unique in a single mailbox. That means a message can have as much uids as mailboxes
up
0
Nathan
16 hours ago
imap_expunge($mbox) = does not change the UID of a message (UID is unique and stays unique)
imap_expunge($mbox) = changes the $msg_number  (the message number is like a running ID for all messages in the mailbox - it gets reassigned everytime the stream is open)

Example

Before expunge

UID = 752
msg_nr = 720

UID = 751
msg_nr = 719

imap_delete($mbox, 719);
imap_expunge($mbox);
imap_close($mbox);
imap_open..

After expunge

UID = 752
msg_nr = 719
up
0
Andreas Seeger
6 years ago
The uid will change in case of unsing imap_expunge. Be shure that
all work ist done before using imap_expunge.
up
-1
roger at sdr dot com dot au
6 years ago
A little quirk of UIDs in a PUBLIC folder in MDaemon (and perhaps other servers?). The UIDs may be unsynchronised between users if the server's option to store flags on a per-user basis is turned on. That is, a message may have a UID of 5 for one user (meaning it was the 5th message to enter the box) but 3 for another user (who perhaps subscribed to the box later). If this is a problem, turn off the per-user option for the mailbox.
up
-2
anon et mouse
5 years ago
clarification for Andreas' note about imap_expunge()...

imap_expunge() does indeed change the UID, but only *after* the IMAP stream has closed and then reconnects.

You can use imap_expunge() as many times as you want within one IMAP stream (no reconnects) and the UID stays the same while the Msgno will change with imap_delete() followed by imap_expunge().
To Top