IMAP, POP3 및 NNTP imap_getmailboxes

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

imap_getmailboxes — 사서함 목록을 읽고 각 사서함에 대한 자세한 정보를 반환합니다.


설명

imap_getmailboxes(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 디렉토리의 모든 편지함을 리턴하지만 해당 디렉토리의 하위 폴더에서는 아무 것도 리턴하지 않습니다.


반환 값

사서함 정보를 포함하는 개체의 배열을 반환합니다. 각 개체에는 사서함의 전체 이름을 지정하는 속성 name이 있습니다. 이 사서함이 있는 계층 구조의 일부에 대한 계층 구분 기호인 delimiter입니다. 및 attributes. attributes은 다음에 대해 테스트할 수 있는 비트마스크입니다.

  • LATT_NOINFERIORS - 이 편지함은 "하위"를 포함하지 않으며 포함하지 않을 수도 있습니다(이 편지함 아래에는 편지함이 없습니다). imap_createmailbox()를 호출하면 이 사서함에서 작동하지 않습니다.
  • LATT_NOSELECT - 이것은 우편함이 아닌 컨테이너일 뿐이며 열 수 없습니다.
  • LATT_MARKED - 이 사서함이 표시됩니다. 이는 마지막으로 확인한 이후에 새 메시지가 포함될 수 있음을 의미합니다. 모든 IMAP 서버에서 제공되지는 않습니다.
  • LATT_UNMARKED - 이 사서함은 표시되지 않았으며 새 메시지가 포함되어 있지 않습니다. MARKED 또는 UNMARKED가 제공되면 IMAP 서버가 이 사서함에 대해 이 기능을 지원한다고 가정할 수 있습니다.
  • LATT_REFERRAL - 이 컨테이너에는 원격 사서함에 대한 참조가 있습니다.
  • LATT_HASCHILDREN - 이 사서함에는 선택 가능한 하위 항목이 있습니다.
  • LATT_HASNOCHILDREN - 이 편지함에 선택 가능한 파일이 없습니다.

함수는 실패 시 false를 반환합니다.


변경 로그

버전 설명
8.1.0 imap 매개변수는 이제 IMAP\Connection 인스턴스를 필요로 합니다. 이전에는 리소스가 필요했습니다.

Examples

예제 #1 imap_getmailboxes() 예제

                  
<?php
$mbox = imap_open("{imap.example.org}", "username", "password", OP_HALFOPEN)
      or die("can't connect: " . imap_last_error());

$list = imap_getmailboxes($mbox, "{imap.example.org}", "*");
if (is_array($list)) {
    foreach ($list as $key => $val) {
        echo "($key) ";
        echo imap_utf7_decode($val->name) . ",";
        echo "'" . $val->delimiter . "',";
        echo $val->attributes . "<br />\n";
    }
} else {
    echo "imap_getmailboxes failed: " . imap_last_error() . "\n";
}

imap_close($mbox);
?>
                  
                

기타