函式名:imap_fetch_overview()
適用版本:PHP 4, PHP 5, PHP 7
用法:該函式用於獲取郵件信箱中指定郵件的概述資訊。它返回一個陣列,陣列中的每個元素都代表一封郵件的概述資訊。
語法:array imap_fetch_overview ( resource $imap_stream , string $sequence [, int $options = 0 ] )
引數:
- imap_stream:必需,一個有效的 IMAP 流資源,透過 imap_open() 函式獲得。
- sequence:必需,指定要獲取概述資訊的郵件的序列號或 UID。可以是單個郵件的序列號,比如 "1:5",也可以是以逗號分隔的多個序列號,比如 "1,2,3"。
- options:可選,用於指定獲取概述資訊的選項。可以是以下常量的按位或運算結果:
- FT_UID:如果指定的 sequence 引數是 UID(唯一識別符號),則設定此選項。
- FT_PEEK:在獲取概述資訊後不將郵件標記為已讀。
- FT_INTERNAL:返回內部郵件識別符號,而不是序列號。
返回值:返回一個包含郵件概述資訊的陣列,如果發生錯誤則返回 false。
示例:
// 連線到 IMAP 伺服器
$imap_stream = imap_open("{imap.example.com:993/ssl}", "username", "password");
// 獲取郵件序列號為 1 的郵件的概述資訊
$overview = imap_fetch_overview($imap_stream, "1");
if ($overview) {
// 迴圈遍歷每封郵件的概述資訊
foreach ($overview as $mail) {
echo "郵件主題: " . $mail->subject . "<br>";
echo "發件人: " . $mail->from . "<br>";
echo "日期: " . $mail->date . "<br>";
echo "是否已讀: " . ($mail->seen ? "是" : "否") . "<br>";
echo "<br>";
}
}
// 關閉 IMAP 連線
imap_close($imap_stream);
以上示例程式碼首先使用 imap_open() 函式連線到 IMAP 伺服器,然後使用 imap_fetch_overview() 函式獲取郵件序列號為 1 的郵件的概述資訊。最後,透過迴圈遍歷每封郵件的概述資訊,輸出郵件的主題、發件人、日期和是否已讀等資訊。最後使用 imap_close() 函式關閉 IMAP 連線。