当节设置为1.2时,PHP imap_fetchbody()函数不返回 背景
我正在运行以下代码以使用检索电子邮件:当节设置为1.2时,PHP imap_fetchbody()函数不返回 背景,php,email,imap,php-imap,Php,Email,Imap,Php Imap,我正在运行以下代码以使用检索电子邮件: 不幸的是,imap\u fetchbody的部件号取决于您的邮件是否包含html,以及是否包含任何附件。当您使用纯文本邮件时,则需要使用1而不是1.2 阅读我推荐的完整的悲剧 确保你总是得到身体内容的一个俗气的方法是 $message = imap_fetchbody($inbox,$emailNumber,1.2); if(empty($bodyText)){ $message = imap_fetchbody($inbox,$emailNumb
不幸的是,
imap\u fetchbody
的部件号取决于您的邮件是否包含html,以及是否包含任何附件。当您使用纯文本邮件时,则需要使用1
而不是1.2
阅读我推荐的完整的悲剧
确保你总是得到身体内容的一个俗气的方法是
$message = imap_fetchbody($inbox,$emailNumber,1.2);
if(empty($bodyText)){
$message = imap_fetchbody($inbox,$emailNumber,1);
}
出于好奇,当你使用1.1时会得到什么?@PatrickQ给你。。。对HTML使用
1.2
假定电子邮件在HTML之前还包含一个纯文本部分。您的示例中的电子邮件没有,这就是为什么1.1
返回HTML。HTML上方的标题是纯文本的,不是吗?没有设置正文部分出现的顺序,即使它们需要出现。您应该检查章节标题,尤其是内容类型:
。
$message = imap_fetchbody($inbox,$emailNumber,"1.1.1");
$doc = new DOMDocument();
$doc->loadHTML($message);
$message = trim($doc->getElementsByTagName("td")->item(0)->nodeValue);
$message = imap_fetchbody($inbox,$emailNumber,1.2);
if(empty($bodyText)){
$message = imap_fetchbody($inbox,$emailNumber,1);
}