imap 的全名是 internet message access protocol,即網際網路資訊存取協議,為美國史丹福大學 (stanford university) 在 1986 年開始研發的多重郵箱電子郵件系統。php 所提供的功能是 imap 4 的系統,這是根據 rfc 1730 所實作的。更多有關 imap 的資訊可以參考 imap 的官方網站 http://www.imap.org 。
欲使用 imap 的電子郵件功能,要先到 ftp://ftp.cac.washington.edu/imap 下載 imap 的用戶端程式。在編譯完成之後將 c-client/c-client.a 複製到 /usr/local/lib 之中,並將 c-client/rfc822.h、mail.h 及 linkage.h 三個檔案複製到 /usr/local/include 之下。之後編譯 php 程式時要加入 –with-imap 的選項。
imap_append : 附加字串到指定的郵箱中。
imap_base64 : 解 base64 編碼。
imap_body : 讀信的內文。
imap_check : 返回郵箱資訊。
imap_close : 關閉 imap 連結。
imap_createmailbox : 建立新的信箱。
imap_delete : 標記欲刪除郵件。
imap_deletemailbox : 刪除既有信箱。
imap_expunge : 刪除已標記的郵件。
imap_fetchbody : 從信件內文取出指定部分。
imap_fetchstructure : 擷取某信件的結構資訊。
imap_header : 擷取某信件的標題資訊。
imap_headers : 擷取全部信件的標題資訊。
imap_listmailbox : 擷取郵箱列示。
imap_listsubscribed : 擷取訂閱郵箱列示。
imap_mail_copy : 複製指定信件到它處郵箱。
imap_mail_move : 移動指定信件到它處郵箱。
imap_num_msg : 取得信件數。
imap_num_recent : 取得新進信件數。
imap_open : 開啟 imap 連結。
imap_ping : 檢查 imap 是否串連。
imap_renamemailbox : 更改郵箱名字。
imap_reopen : 重開 imap 連結。
imap_subscribe : 訂閱郵箱。
imap_undelete : 取消刪除郵件標記。
imap_unsubscribe : 取消訂閱郵箱。
imap_qprint : 將 qp 編碼轉成八位。
imap_8bit : 將八位轉成 qp 編碼。
imap_binary : 將八位轉成 base64 編碼。
imap_scanmailbox : 尋找信件有無特定字串。
imap_mailboxmsginfo : 取得目前郵箱的資訊。
imap_rfc822_write_address : 電子郵件位址標準化。
imap_rfc822_parse_adrlist : 解析電子郵件位址。
imap_setflag_full : 配置信件標誌。
imap_clearflag_full : 清除信件標誌。
imap_sort : 將信件標題排序。
imap_fetchheader : 取得原始標題。
imap_uid : 取得信件 uid。
imap_getmailboxes : 取得全部信件詳細資料。
imap_getsubscribed : 列出所有訂閱郵箱。
imap_msgno : 列出 uid 的連續信件。
imap_search : 搜尋指定標準的信件。
imap_last_error : 最後的錯誤資訊。
imap_errors : 所有的錯誤資訊。
imap_alerts : 所有的警告資訊。
imap_status : 目前的狀態資訊。
imap_append
附加字串到指定的郵箱中。
文法: int imap_append(int imap_stream, string mbox, string message, string [flags]);
傳回值: 整數
函數種類: 網路系統
內 容說明: 本函數可在指定的電子郵箱中增加附加的字串。參數 imap_stream 為 imap 的代號。參數 mbox 為電子郵箱的位址。參數 message 為欲附加的資訊。參數 flag 為可省略的標誌,表示電子郵箱的標誌值。治募 注意的是要與 cyrus imap 伺服器溝通時,應使用 \r\n 作為行結束字元 (end-of-line, eol)。若有錯誤則返回 false 值。
imap_base64
解 base64 編碼。
文法: string imap_base64(string text);
傳回值: 字串
函數種類: 網路系統
內容說明: 本函數可將用 base64 編碼字串解碼。傳回值是解碼後的字串。
參考 imap_binary() base64_encode() base64_decode()
imap_body
讀信的內文。
文法: string imap_body(int imap_stream, int msg_number, int [flags]);
傳回值: 字串
函數種類: 網路系統
內容說明
本函數可讀取信件的內文 (body) 部份。參數 imap_stream 為 imap 的代號。參數 msg_number 為信件的序號。參數 flags 可省略,有下列的值
ft_uid : 信件序號為 uid。
ft_peek : 若無配置 \seen 標誌則不要設本標誌。
ft_internal : 返回字串使用系統格式,不要刻意轉成 crlf 行結束標準。
使用範例
本例利用 imap 協議讀取 myid@localhost 的第一封信件。
imap_check
返回郵箱資訊。
文法: object imap_check(int imap_stream);
傳回值: 類
函數種類: 網路系統
內容說明: 本函數可取得目前電子郵箱的資訊。傳回值為類類型,包含下面的屬性
date最新郵件的日期driver使用的介面mailbox電子郵箱網址nmsgs總郵件數目recent新進郵件數目
類屬性 代表意義說明
參考 imap_mailboxmsginfo()
imap_close
關閉 imap 連結。
文法: int imap_close(int imap_stream, int [flags]);
傳回值: 整數
函數種類: 網路系統
內容說明: 本函數用來關閉 imap 的資料流,亦即結束連結。可省略的參數 flags 的值若為 cl_expunge 則在關閉連結前會將電子郵件信箱清空。
imap_createmailbox
建立新的信箱。
文法: int imap_createmailbox(int imap_stream, string mbox);
傳回值: 整數
函數種類: 網路系統
內容說明
本函數用來建立新的信箱。成功則返回 true 值。
imap_delete
標記欲刪除郵件。
文法: int imap_delete(int imap_stream, int msg_number);
傳回值: 整數
函數種類: 網路系統
內容說明
本函數僅用來標記欲刪除之郵件。實際刪除的指令 imap_expunge()
imap_deletemailbox
刪除既有信箱。
文法: int imap_deletemailbox(int imap_stream, string mbox);
傳回值: 整數
函數種類: 網路系統
內容說明: 本函數用來刪除既有的信箱。成功則返回 true 值。
imap_expunge
刪除已標記的郵件。
文法: int imap_expunge(int imap_stream);
http://www.bkjia.com/PHPjc/363940.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/363940.htmlTechArticleimap 的全名是 internet message access protocol,即網際網路資訊存取協議,為美國史丹福大學 (stanford university) 在 1986 年開始研發的多重郵箱電子郵...