函数名: imap_search()
适用版本: PHP 4, PHP 5, PHP 7
用法:该函数用于在IMAP邮箱中搜索邮件。
语法:array imap_search ( resource $imap_stream , string $criteria [, int $options = SE_FREE [, string $charset = NIL ]] )
参数:
- $imap_stream: 必需,一个有效的 IMAP 流。
- $criteria: 必需,搜索的条件。可以是字符串或数组。
- $options: 可选,搜索选项。默认为 SE_FREE,表示释放搜索结果。
- $charset: 可选,搜索的字符集。默认为 NIL,表示使用当前字符集。
返回值:返回一个包含匹配邮件序号的数组,如果没有匹配的邮件,则返回 false。
示例:
// 连接到 IMAP 服务器
$imap_server = "{imap.example.com:993/imap/ssl}INBOX";
$username = "your_username";
$password = "your_password";
$imap_stream = imap_open($imap_server, $username, $password);
if ($imap_stream) {
// 搜索包含关键字 "php" 的邮件
$search_results = imap_search($imap_stream, 'TEXT "php"');
if ($search_results) {
echo "匹配的邮件序号:";
foreach ($search_results as $msg_number) {
echo $msg_number . ", ";
}
} else {
echo "没有匹配的邮件。";
}
// 关闭 IMAP 连接
imap_close($imap_stream);
} else {
echo "无法连接到 IMAP 服务器。";
}
上述示例首先使用 imap_open() 函数连接到 IMAP 服务器,并验证用户名和密码。然后,使用 imap_search() 函数搜索包含关键字 "php" 的邮件,并将匹配的邮件序号打印出来。最后,使用 imap_close() 函数关闭与 IMAP 服务器的连接。