imap_open
(PHP 4, PHP 5)
imap_open — 메일박스에 IMAP 스트림(stream)을 연다
Description
int imap_open
( string $mailbox
, string $username
, string $password
[, int $flags
] )
성공하면 IMAP 스트림(stream)을 돌려주고 에러가 발생하면 FALSE를 넘겨준다. 이 함수는 POP3나 NNTP서버의 스트림(stream)을 열 때에도 사용된다. 하지만 어떤 함수나 특성은 IMAP 서버에 적용되지 않는다.
메일박스의 이름은 서버와 관련한 서버 부분과 메일박스 경로로 구성된다. 특별한 이름을 갖는 INBOX는 현재 유저의 개인 메일박스이다. 서버 부분은 '{'과 '}'로 둘려싸여지고, 서버의 이름이나 ip 주소, 프로토콜 사양('/'로 시작하는곳) 그리고 ':'로 시작하는 선택적인 포트로 구성된다. 서버 부분은 모든 메일박스의 필수 인수이다. 메일박스 이름이 출력가능한 아스키(ASCII)범위를 벗어난 국제적인 문자를 포함하면 imap_utf7_encode()함수로 인코딩되어야 한다.
옵션은 다음을 한개이상 포함하는 비트마스크(bit mask)값이다.
- OP_READONLY - Open mailbox read-only
- OP_ANONYMOUS - Dont use or update a .newsrc for news (NNTP only)
- OP_HALFOPEN - For IMAP and NNTP names, open a connection but dont open a mailbox
- CL_EXPUNGE - Expunge mailbox automatically upon mailbox close
로컬 머신의 143포트에서 서비스되고 있는 IMAP서버에 접속하려면, 다음과 같이 하시오:
$mbox = imap_open ("{localhost:143}INBOX", "user_id", "password");
$mbox = imap_open ("{localhost/pop3:110}INBOX", "user_id", "password");
$nntp = imap_open ("{localhost/nntp:119}comp.test", "", "");
Example#1 imap_open() example
$mbox = imap_open ("{your.imap.host:143}", "username", "password");
echo "<p><h1>Mailboxes</h1>\n";
$folders = imap_listmailbox ($mbox, "{your.imap.host:143}", "*");
if ($folders == false) {
echo "Call failed<br>\n";
} else {
while (list ($key, $val) = each ($folders)) {
echo $val."<br>\n";
}
}
echo "<p><h1>Headers in INBOX</h1>\n";
$headers = imap_headers ($mbox);
if ($headers == false) {
echo "Call failed<br>\n";
} else {
while (list ($key,$val) = each ($headers)) {
echo $val."<br>\n";
}
}
imap_close($mbox);