imap_body

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_body读取邮件正文

说明

imap_body(IMAP\Connection $imap, int $message_num, int $flags = 0): string|false

imap_body() 返回当前邮箱中编号为 message_num 的邮件的正文。

imap_body() 只会返回邮件正文的逐字复制。要提取多部分 MIME 编码邮件的单个部分,您必须使用 imap_fetchstructure() 分析其结构,并使用 imap_fetchbody() 提取单个正文组件的副本。

参数

imap

一个 IMAP\Connection 实例。

message_num

邮件编号

flags

可选的 flags 是一个位掩码,包含以下一个或多个:

  • FT_UID - message_num 是 UID
  • FT_PEEK - 如果未设置,则不设置 \Seen 标志
  • FT_INTERNAL - 返回字符串为内部格式,不会规范化为 CRLF。

返回值

返回指定邮件的正文,以字符串形式表示;如果失败,则返回 false

变更日志

版本 说明
8.1.0 imap 参数现在期望一个 IMAP\Connection 实例;之前期望一个有效的 imap 资源
添加说明

用户贡献的说明 2 个说明

deenfirdoush at gmail dot com
14 年前
读取最新邮件正文的简单示例。

<?php
$imap
= imap_open("{pop.example.com:995/pop3/ssl/novalidate-cert}", "username", "password");

if(
$imap ) {

// 检查邮件数量
$num = imap_num_msg($imap);

// 如果收件箱中有邮件
if( $num >0 ) {
// 读取最近收到的邮件
echo imap_qprint(imap_body($imap, $num));
}

// 关闭流
imap_close($imap);
}
?>
theloverkills at gmail dot com
7 年前
请注意,UID 不是唯一的。
邮件的 UID 在服务器上可能不是唯一的(不同文件夹中的 2 封邮件可能具有相同的 UID)。

基本上,不要使用 UID 作为唯一标识符。
To Top