企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
[TOC] ## 什么是 POP3/IMAP/SMTP 服务 POP3 (Post Office Protocol - Version 3)协议用于支持使用电子邮件**客户端获取并删除**在服务器上的电子邮件。 IMAP (Internet Message Access Protocol)协议用于支持使用电子邮件客户端交互式**存取服务器上的邮件**。 SMTP (Simple Mail Transfer Protocol)协议用于支持使用电子邮件客户端**发送**电子邮件。 ## IMAP 和 POP 有什么区别 POP - POP允许电子邮件客户端下载服务器上的邮件,但是你在电子邮件客户端上的操作(如:移动邮件、标记已读等)不会反馈到服务器上的,比如:你通过电子邮件客户端收取了QQ邮箱中的3封邮件并移动到了其他文件夹,这些移动动作是不会反馈到服务器上的,邮箱服务器上的这些邮件是没有同时被移动的。 - 第三方客户端通过POP收取邮件时,也是有可能同步删除服务端邮件。在第三方客户端设置 POP 时,请留意是否有 保留邮件副本/备份 相关选项。如有该选项,且要保留服务器上的邮件,请勾选该选项 IMAP - 在IMAP协议上,电子邮件客户端的操作都会反馈到服务器上,你对邮件进行的操作(如:移动邮件、标记已读、删除邮件等)服务器上的邮件也会做相应的动作。也就是说,IMAP 是“双向”的。同时,IMAP 可以只下载邮件的主题,只有当你真正需要的时候,才会下载邮件的所有内容。**在 POP3 和 IMAP 协议上,QQ邮箱推荐你使用IMAP协议来存取服务器上的邮件** ## 示例 ### QQ邮箱 **IMAP/SMTP 设置方法** 用户名/帐户: 你的QQ邮箱完整的地址 密码: 生成的授权码 电子邮件地址: 你的QQ邮箱的完整邮件地址 接收邮件服务器: imap.qq.com,使用SSL,端口号993 发送邮件服务器: smtp.qq.com,使用SSL,端口号465或587 <br/> **POP3/SMTP 设置方法** 用户名/帐户: 你的QQ邮箱完整的地址 密码: 生成的授权码 电子邮件地址: 你的QQ邮箱的完整邮件地址 接收邮件服务器: pop.qq.com,使用SSL,端口号995 发送邮件服务器: smtp.qq.com,使用SSL,端口号465或587 ## demo 示例 ### php 实现 imap ``` // IMAP 服务器配置 $hostname = '{imap.qq.com:993/ssl}'; $username = '2xxx304@qq.com'; $password = 'xxxxx'; // 打开 IMAP 连接 $inbox = imap_open($hostname, $username, $password,OP_READONLY) or die('Cannot connect to mail server: ' . imap_last_error()); // 搜索所有邮件 $emails = imap_search($inbox, 'ALL'); if ($emails) { // 按日期降序排列 rsort($emails); // 遍历每封邮件 foreach ($emails as $email_number) { $overview = imap_fetch_overview($inbox, $email_number, 0); $message = imap_fetchbody($inbox, $email_number, 2); echo 'Subject: ' . $overview[0]->subject . "\n"; echo 'From: ' . $overview[0]->from . "\n"; echo 'Date: ' . $overview[0]->date . "\n"; echo 'Message: ' . $message . "\n"; echo "-----------------------------------\n"; } } // 关闭 IMAP 连接 imap_close($inbox); ```