我给你整理一份 PHP IMAP 最完整、最常用、实战能用的所有函数清单,带中文说明、用法、什么时候用,直接复制就能用。
这是开发邮件接收必备的终极速查手册。
一、连接 / 关闭 类(最基础)
1. imap_open()
打开 IMAP 连接
$mbox = imap_open("{服务器:端口/imap/ssl}INBOX", "账号", "授权码");
2. imap_close()
关闭连接
imap_close($mbox);
3. imap_ping()
检查连接是否还活着
imap_ping($mbox); // true = 正常
二、获取邮箱信息类
4. imap_check()
获取当前邮箱状态(邮件总数、文件夹名)
$info = imap_check($mbox);echo $info->Nmsgs; // 总邮件数
5. imap_num_msg()
直接获取邮件总数
echo imap_num_msg($mbox);
6. imap_list()
获取所有文件夹(INBOX、已发送、垃圾箱等)
imap_list($mbox, $host, "*");
7. imap_reopen()
切换文件夹
imap_reopen($mbox, $host."Sent");
三、搜索邮件(你最常用)
8. imap_search()
搜索邮件(ALL、UNSEEN、FROM、SUBJECT 等)
imap_search($mbox, "ALL", SE_UID);
四、邮件头部信息(标题、发件人、日期)
9. imap_headerinfo()
获取邮件头(标题、发件人、日期、是否已读)
$header = imap_headerinfo($mbox, $msgno);
返回信息包括:
subject标题from发件人to收件人date时间Unseen是否未读UID
10. imap_fetchheader()
获取原始头部源码
imap_fetchheader($mbox, $msgno);
五、邮件正文内容
11. imap_body()
获取邮件正文(简单版,可能乱码)
imap_body($mbox, $msgno);
12. imap_fetchstructure()
获取邮件结构(附件、HTML、纯文本)
imap_fetchstructure($mbox, $msgno);
13. imap_fetchbody()
获取指定部分正文(解析附件必备)
imap_fetchbody($mbox, $msgno, "1"); // 文本imap_fetchbody($mbox, $msgno, "2"); // HTML
六、编码 / 解码(中文不乱码)
14. imap_utf8()
解码标题、发件人中文
imap_utf8($header->subject);
15. imap_base64()
base64 解码
imap_base64($content);
16. imap_qprint()
quoted-printable 解码
imap_qprint($content);
七、UID 相关(最稳定、推荐使用)
17. imap_uid()
根据序号获取 UID
$uid = imap_uid($mbox, $msgno);
18. imap_msgno()
根据 UID 获取序号(必须用!)
$msgno = imap_msgno($mbox, $uid);
八、附件处理
19. imap_fetchstructure()
获取附件结构(文件名、类型、大小)
20. imap_mime_header_decode()
解码附件中文名
imap_mime_header_decode($filename);
九、标记操作
21. imap_setflag_full()
标记邮件为 已读/删除/星标
imap_setflag_full($mbox, $uid, "\\Seen", ST_UID); // 已读
22. imap_clearflag_full()
清除标记
十、删除 / 恢复邮件
23. imap_delete()
标记删除
imap_delete($mbox, $uid, ST_UID);
24. imap_expunge()
永久删除已标记邮件
imap_expunge($mbox);
十一、错误处理
25. imap_last_error()
最后一条错误
imap_last_error();
26. imap_errors()
所有错误
27. imap_alerts()
系统警告
🔥 最常用的 10 个(记住这些就够了)
imap_openimap_closeimap_searchimap_checkimap_headerinfoimap_bodyimap_fetchstructureimap_fetchbodyimap_utf8imap_msgno(用 UID 必用)
我可以给你:
- 完整接收邮件类(支持:标题、正文、附件、HTML、已读标记)
- 最稳定的 UID 模式收信代码
- 中文不乱码、不报错、可直接上线使用
