查詢

imap_scanmailbox()函式—用法及示例

「 掃描指定郵箱中的郵件,並返回郵件的資訊 」


函式名:imap_scanmailbox()

適用版本:PHP 4, PHP 5, PHP 7

用法:imap_scanmailbox() 函式用於掃描指定郵箱中的郵件,並返回郵件的資訊。

語法:array imap_scanmailbox ( resource $imap_stream , string $ref , string $pattern [, int $options = 0 [, string &$return ]])

引數:

  • $imap_stream:一個有效的 IMAP 流。
  • $ref:郵箱的參考路徑,例如 INBOX。
  • $pattern:用於匹配郵件的模式字串,可以使用萬用字元 * 和 ?。
  • $options:可選引數,用於指定其他選項,例如 IMAP::FT_UID(返回 UID 而不是序列號)。
  • $return:可選引數,用於儲存掃描結果的字串。

返回值:返回一個包含郵件資訊的陣列,或者在失敗時返回 false。

示例:

// 連線到 IMAP 伺服器
$imap_stream = imap_open("{imap.example.com:993/imap/ssl}INBOX", "username", "password");

// 掃描郵箱中所有郵件
$mailbox = imap_scanmailbox($imap_stream, "INBOX", "*");

if ($mailbox) {
    // 輸出郵件的數量和資訊
    echo "There are " . count($mailbox) . " emails in the mailbox.\n";
    foreach ($mailbox as $mail) {
        echo "Subject: " . $mail->subject . "\n";
        echo "From: " . $mail->fromaddress . "\n";
        echo "Date: " . $mail->date . "\n";
        echo "---------------------------------\n";
    }
} else {
    echo "Failed to scan mailbox.\n";
}

// 關閉 IMAP 連線
imap_close($imap_stream);

注意事項:

  • 在使用 imap_scanmailbox() 函式之前,需要先透過 imap_open() 函式連線到 IMAP 伺服器。
  • $ref 引數可以是郵箱的完整路徑,例如 "{imap.example.com:143}INBOX"。
  • $pattern 引數可以使用萬用字元 * 和 ?,例如 "INBOX.*" 會匹配以 INBOX 開頭的所有郵箱。
  • 如果指定了 $return 引數,掃描結果將儲存在該字串中,而不是返回一個陣列。
補充糾錯
上一個函式: imap_search()函式
下一個函式: imap_scan()函式
熱門PHP函式
分享連結