PHP Conference Japan 2024

imap_list

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_list讀取郵件信箱列表

說明

imap_list(IMAP\Connection $imap, string $reference, string $pattern): array|false

讀取郵件信箱的列表。

參數

imap

一個 IMAP\Connection 實例。

reference

reference 通常應該只是如 imap_open() 中描述的伺服器規格。

警告

將不受信任的資料傳遞給此參數是不安全的,除非停用 imap.enable_insecure_rsh

pattern

指定在信箱階層結構中開始搜尋的位置。

您可以傳遞兩個特殊字元作為 pattern 的一部分:'*' 和 '%'。 '*' 表示返回所有信箱。如果您將 pattern 作為 '*' 傳遞,您將獲得整個信箱階層結構的列表。 '%' 表示僅返回目前層級。作為 pattern 參數的 '%' 將僅返回頂級信箱; UW_IMAPD 上的 '~/mail/%' 將返回 ~/mail 目錄中的每個信箱,但不會返回該目錄的子資料夾中的信箱。

回傳值

返回一個包含信箱名稱的陣列,失敗時則返回 false

變更記錄

版本 說明
8.1.0 imap 參數現在需要一個 IMAP\Connection 實例;之前,預期是一個有效的 imap 資源

範例

範例 #1 imap_list() 範例

<?php
$mbox
= imap_open("{imap.example.org}", "username", "password", OP_HALFOPEN)
or die(
"無法連線: " . imap_last_error());

$list = imap_list($mbox, "{imap.example.org}", "*");
if (
is_array($list)) {
foreach (
$list as $val) {
echo
imap_utf7_decode($val) . "\n";
}
} else {
echo
"imap_list 失敗: " . imap_last_error() . "\n";
}

imap_close($mbox);
?>

參見

新增註解

使用者貢獻的註解 2 則註解

5
匿名
5 年前
使用
echo mb_convert_encoding($val, "utf-8", "UTF7-IMAP");
適用於西里爾字母的資料夾名稱
2
c6h1206free at gmail dot com
16 年前
imap_list 返回一個簡單的字串陣列,其外觀就像需要指定的 $ref 參數

<?php

$srv
= '{imap.example.com}';

$conn = imap_open($srv, 'me', 'mypass');

$boxes = imap_list($conn, $srv, '*');

print_r($boxes);
imap_close($conn);
?>

輸出

<pre>
Array
(
[0] => {imap.example.com}Calendar
[1] => {imap.example.com}Contacts
[2] => {imap.example.com}Deleted Items
[3] => {imap.example.com}Drafts
[4] => {imap.example.com}Journal
[5] => {imap.example.com}Junk E-mail
[6] => {imap.example.com}Notes
[7] => {imap.example.com}Outbox
[8] => {imap.example.com}RSS Feeds
[9] => {imap.example.com}Sent Items
[10] => {imap.example.com}Tasks
)
</pre>

這些直接填入每個需要 $ref 引數的函數。
To Top