函数名:imap_setflag_full()
适用版本:PHP 4, PHP 5, PHP 7
用法:该函数用于设置邮件的标记。它接受五个参数:邮件的邮箱连接资源、邮件的唯一标识符、要设置的标记类型、标记值和选项。
参数:
- $imap_stream:必需。邮件的邮箱连接资源,通过 imap_open() 函数返回的资源。
- $msg_number:必需。邮件的唯一标识符,通过 imap_uid() 或 imap_msgno() 函数返回的值。
- $flag_name:必需。要设置的标记类型,可以是以下之一:
- "\Seen":表示标记邮件为已读。
- "\Answered":表示标记邮件已回复。
- "\Flagged":表示标记邮件为重要。
- "\Deleted":表示标记邮件为已删除。
- "\Draft":表示标记邮件为草稿。
- $options:可选。标记值的选项,可以是以下之一:
- ST_UID:表示 $msg_number 参数是邮件的唯一标识符。
- ST_SET:表示设置标记。
- ST_SILENT:表示不显示错误信息。
- $recent_uid:可选。返回最近修改的邮件的唯一标识符。
返回值:如果设置成功,则返回 true。如果设置失败,则返回 false。
示例:
// 连接到邮箱
$mailbox = imap_open("{imap.example.com:993/imap/ssl}INBOX", "username", "password") or die("连接失败");
// 获取邮件的唯一标识符
$msg_uid = imap_uid($mailbox, 1);
// 设置邮件为已读
if (imap_setflag_full($mailbox, $msg_uid, "\\Seen", ST_UID) === true) {
echo "邮件已标记为已读";
} else {
echo "设置标记失败";
}
// 关闭邮箱连接
imap_close($mailbox);
上述示例中,我们首先通过 imap_open() 函数连接到邮箱。然后使用 imap_uid() 函数获取第一封邮件的唯一标识符。接下来,使用 imap_setflag_full() 函数将该邮件标记为已读,通过传递标记类型 "\Seen" 和选项 ST_UID。最后,我们通过 imap_close() 函数关闭邮箱连接。
请注意,示例中的服务器和账户信息仅用于演示目的,实际使用时需要替换为有效的信息。