PHP Conference Japan 2024

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