Php 检测电子邮件的哪个部分具有HTML格式的正文
我试着阅读两种不同类型的电子邮件 有一种邮件在第2部分下有html正文,我可以这样读Php 检测电子邮件的哪个部分具有HTML格式的正文,php,email,imap,Php,Email,Imap,我试着阅读两种不同类型的电子邮件 有一种邮件在第2部分下有html正文,我可以这样读 imap_fetchbody($imap_connection, $imap_msgno, '2'); 另一种是第1.2部分中的html主体,我使用下面的方法来获取主体 imap_fetchbody($imap_connection, $imap_msgno, '1.2'); 现在我的问题是,我如何知道电子邮件的html正文是哪一部分呢?我建议您使用一个库来处理这个问题 有一段时间我在处理邮件,这并不是那么
imap_fetchbody($imap_connection, $imap_msgno, '2');
另一种是第1.2部分中的html主体,我使用下面的方法来获取主体
imap_fetchbody($imap_connection, $imap_msgno, '1.2');
现在我的问题是,我如何知道电子邮件的html正文是哪一部分呢?我建议您使用一个库来处理这个问题 有一段时间我在处理邮件,这并不是那么容易。HTML正文可能有多个部分,例如当您回复某人的邮件时,其中一部分是原始邮件,另一部分是您在两个不同ID下的响应。获取电子邮件正文的最佳方法是解析imap_fetchstructure$imap_connection$imap_msgno;返回的对象;。但这是屁股痛,我知道我在说什么
回到我的建议,其中一个库是我的,你可以自由使用它:我正在阅读这两个库,并试图找出哪个库有html 这是我的技巧,对我有用
$message = imap_fetchbody($imap_connection, $imap_msgno, '2');
//read the body assuming its type 2
//apply respective decoding function here. eg, imap_base64 OR imap_8bit
//OR imap_qprint based on the email's encoding info.
if($message == strip_tags($message)) { //checking if the $message has html tags.
//if no html, read the other part.
$message = imap_fetchbody($imap_connection, $imap_msgno, '1.2');
// .....
}
我很想使用你的库,看起来很棒,但不幸的是我没有太多时间来尝试一个新的库,我正在接受我发明的一个黑客[查看我的答案了解更多]谢谢!您是否尝试过使用更复杂的消息?例如,对另一封邮件的回复,其中包含附件?不,我只是在分析转发的特定类型的电子邮件。因此,所有其他类型的邮件附件、回复都将被忽略。