函数名:imap_fetch_overview()
适用版本:PHP 4, PHP 5, PHP 7
用法:该函数用于获取邮件信箱中指定邮件的概述信息。它返回一个数组,数组中的每个元素都代表一封邮件的概述信息。
语法:array imap_fetch_overview ( resource $imap_stream , string $sequence [, int $options = 0 ] )
参数:
- imap_stream:必需,一个有效的 IMAP 流资源,通过 imap_open() 函数获得。
- sequence:必需,指定要获取概述信息的邮件的序列号或 UID。可以是单个邮件的序列号,比如 "1:5",也可以是以逗号分隔的多个序列号,比如 "1,2,3"。
- options:可选,用于指定获取概述信息的选项。可以是以下常量的按位或运算结果:
- FT_UID:如果指定的 sequence 参数是 UID(唯一标识符),则设置此选项。
- FT_PEEK:在获取概述信息后不将邮件标记为已读。
- FT_INTERNAL:返回内部邮件标识符,而不是序列号。
返回值:返回一个包含邮件概述信息的数组,如果发生错误则返回 false。
示例:
// 连接到 IMAP 服务器
$imap_stream = imap_open("{imap.example.com:993/ssl}", "username", "password");
// 获取邮件序列号为 1 的邮件的概述信息
$overview = imap_fetch_overview($imap_stream, "1");
if ($overview) {
// 循环遍历每封邮件的概述信息
foreach ($overview as $mail) {
echo "邮件主题: " . $mail->subject . "<br>";
echo "发件人: " . $mail->from . "<br>";
echo "日期: " . $mail->date . "<br>";
echo "是否已读: " . ($mail->seen ? "是" : "否") . "<br>";
echo "<br>";
}
}
// 关闭 IMAP 连接
imap_close($imap_stream);
以上示例代码首先使用 imap_open() 函数连接到 IMAP 服务器,然后使用 imap_fetch_overview() 函数获取邮件序列号为 1 的邮件的概述信息。最后,通过循环遍历每封邮件的概述信息,输出邮件的主题、发件人、日期和是否已读等信息。最后使用 imap_close() 函数关闭 IMAP 连接。