連線到郵箱
要對 IMAP 帳戶執行任何操作,你需要先連線到該帳戶。為此,你需要指定一些必需的引數:
- 郵件伺服器的伺服器名稱或 IP 地址
- 你要連線的埠
- IMAP 是 143 或 993(安全)
- POP 是 110 或 995(安全)
- SMTP 是 25 或 465(安全)
- NNTP 是 119 或 563(安全)
- 連線標誌(見下文)
標誌 | 描述 | 選項 | 預設 |
---|---|---|---|
/service=service |
使用哪種服務 | imap,pop3,nntp,smtp | IMAP |
/user=user |
用於在伺服器上登入的遠端使用者名稱 | ||
/authuser=user |
遠端認證使用者; 如果指定,則這是使用其密碼的使用者名稱(例如,管理員) | ||
/anonymous |
作為匿名使用者進行遠端訪問 | ||
/debug |
在應用程式的除錯日誌中記錄協議遙測 | 殘 | |
/secure |
不要通過網路傳輸明文密碼 | ||
/norsh |
不要使用 rsh 或 ssh 來建立預先認證的 IMAP 會話 | ||
/ssl |
使用安全套接字層加密會話 | ||
/validate-cert |
來自 TLS / SSL 伺服器的證書 | 啟用 | |
/novalidate-cert |
如果伺服器使用自簽名證書,則不要驗證來自 TLS / SSL 伺服器的證書。小心使用 | 殘 | |
/tls |
強制使用 start-TLS 加密會話,並拒絕與不支援它的伺服器的連線 | ||
/notls |
不要使用 start-TLS 來加密會話,即使是支援它的伺服器也是如此 | ||
/readonly |
請求只讀郵箱開啟(僅限 IMAP;在 NNTP 上被忽略,以及 SMTP 和 POP3 出錯) |
你的連線字串將如下所示:
{imap.example.com:993/imap/tls/secure}
請注意,如果連線字串中的任何字元是非 ASCII 字元,則必須使用 utf7_encode($ string) 進行編碼。
要連線到郵箱,我們使用 imap_open 命令返回指向流的資源值:
<?php
$mailbox = imap_open("{imap.example.com:993/imap/tls/secure}", "username", "password");
if ($mailbox === false) {
echo "Failed to connect to server";
}