連線到郵箱

要對 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";
}