PHP: imap_uid - Manual

downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

imap_undelete imap_timeout

Last updated: Fri, 26 Jan 2007

view this page in

# imap_uid

(PHP 3 >= 3.0.3, PHP 4, PHP 5)

imap_uid -- This function returns the UID for the given message sequence number

## Описание

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().

## Список параметров

`imap_stream`

  An IMAP stream returned by imap_open().

`msg_number`

  The message number.

## Возвращаемые значения

The UID of the given message.

## Примечания

> Замечание: This function is not supported by POP3 mailboxes.

## Смотрите также

imap_msgno()

add a note User Contributed Notes
imap_uid
steve_foley at excite dot com
04-Sep-2002 10:27
`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`
robert dot blanch at hsc dot utah dot edu
16-Jul-2002 07:25
`Another way to get the UID without using imap_uid that works with pop3:
$header = imap_headerinfo( $mbox, $msgno );
$UID = $header->message_id;`
20-Jun-2002 01:53
`For those using a POP3 mailbox, this function, as noted, does not work.
One way around this is to use direct FTP communication with the mail server. For example, the following function takes a mailbox/password and message sequence number, and from this returns the message UID.
function fetch_UID($account, $password, $message_number)
{
$retval = 0;
$fp = fsockopen($POPMAILSERVER, 110);
if ($fp > 0)
{
$buf = fgets($fp, 1024);
fputs($fp, "USER $account\r\n");
$buf = fgets($fp, 1024);
fputs($fp, "PASS $password\r\n");
$buf = fgets($fp, 1024);
fputs($fp, "UIDL $message_number\r\n");
$retval=fgets($fp, 1024);
fputs($fp, "QUIT\r\n");
$buf = fgets($fp,1024);
fclose($fp);
}
return substr($retval,6,30);
}
Note: 110 is the TCP port commonly associated with a POP3 mailbox. Also the substr() function is used to trim the +OK and the message number from the beginning of the server's response.
I'm sure there are other (better) ways to do this. But after a fruitless search of the internet, this is what I came up with, and it seems to work for me.`
add a note
imap_undelete imap_timeout

Last updated: Fri, 26 Jan 2007
show source | credits | stats | sitemap | contact | advertising | mirror sites
Copyright © 2001-2007 The PHP Group
All rights reserved.
This mirror generously provided by: Yahoo! Inc.
Last updated: Sat Mar 10 09:32:46 2007 PST