Delicious Bookmark this on Delicious Share on Facebook SlashdotSlashdot It! Digg! Digg



PHP : Function Reference : IMAP, POP3 and NNTP Functions : imap_uid

imap_uid

This function returns the UID for the given message sequence number (PHP 4, PHP 5)
int imap_uid ( resource imap_stream, int msg_number )


Code Examples / Notes » imap_uid

steve_foley

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

20-jun-2002 09: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.


robert dot blanch

Another way to get the UID without using imap_uid that works with pop3:
$header = imap_headerinfo( $mbox, $msgno );
$UID = $header->message_id;


Change Language


Follow Navioo On Twitter
imap_8bit
imap_alerts
imap_append
imap_base64
imap_binary
imap_body
imap_bodystruct
imap_check
imap_clearflag_full
imap_close
imap_createmailbox
imap_delete
imap_deletemailbox
imap_errors
imap_expunge
imap_fetch_overview
imap_fetchbody
imap_fetchheader
imap_fetchstructure
imap_get_quota
imap_get_quotaroot
imap_getacl
imap_getmailboxes
imap_getsubscribed
imap_header
imap_headerinfo
imap_headers
imap_last_error
imap_list
imap_listmailbox
imap_listscan
imap_listsubscribed
imap_lsub
imap_mail_compose
imap_mail_copy
imap_mail_move
imap_mail
imap_mailboxmsginfo
imap_mime_header_decode
imap_msgno
imap_num_msg
imap_num_recent
imap_open
imap_ping
imap_qprint
imap_renamemailbox
imap_reopen
imap_rfc822_parse_adrlist
imap_rfc822_parse_headers
imap_rfc822_write_address
imap_savebody
imap_scanmailbox
imap_search
imap_set_quota
imap_setacl
imap_setflag_full
imap_sort
imap_status
imap_subscribe
imap_thread
imap_timeout
imap_uid
imap_undelete
imap_unsubscribe
imap_utf7_decode
imap_utf7_encode
imap_utf8
eXTReMe Tracker