函数名:imap_scan()
适用版本:PHP 4, PHP 5, PHP 7
用法:imap_scan(resource $imap_stream, string $mailbox, string $pattern, int $options = 0): array|false
参数:
- $imap_stream:必需。一个表示 IMAP 流的资源标识符,通过 imap_open() 函数获取。
- $mailbox:必需。要扫描的邮箱名称。
- $pattern:必需。要匹配的模式字符串。
- $options:可选。一个用于指定扫描选项的整数值,默认为0。
返回值:
- 成功时,返回一个包含匹配的邮件号码的数组。
- 失败时,返回 false。
说明: 该函数用于从指定的邮箱中扫描匹配给定模式的邮件。可以使用 "*" 作为通配符来匹配任意字符。该函数不会改变当前邮箱的位置。
示例:
// 连接到 IMAP 服务器
$imap_stream = imap_open("{imap.example.com:993/imap/ssl}", "username", "password");
// 扫描收件箱中匹配 "PHP" 的邮件
$mailbox = "INBOX";
$pattern = "*PHP*";
$emails = imap_scan($imap_stream, $mailbox, $pattern);
// 打印匹配到的邮件号码
if ($emails) {
foreach ($emails as $email) {
echo "匹配到的邮件号码:$email<br>";
}
} else {
echo "未找到匹配的邮件";
}
// 关闭 IMAP 连接
imap_close($imap_stream);
以上示例代码将连接到指定的 IMAP 服务器,扫描收件箱中匹配 "PHP" 的邮件,并打印匹配到的邮件号码。如果未找到匹配的邮件,将输出"未找到匹配的邮件"。最后,关闭 IMAP 连接。