有趣的是,imap_headerinfo() 不允許在 $msg_number 欄位中使用 UID,而所有其他擷取函式似乎都允許。
如果您想使用 UID 來擷取標頭,請使用以下兩個步驟:
<?php
/*
* 假設 $mbox 是您的串流,並且 $uid 已正確設定。
* 正確的錯誤檢查由您自行負責。
*/
$hText = imap_fetchbody($mbox, $uid, '0', FT_UID);
$headers = imap_rfc822_parse_headers($hText);
?>
結果與 imap_headerinfo() 的輸出相同,但您可以使用 UID。