php从邮件正文中提取文本/纯文本

Posted

技术标签:

【中文标题】php从邮件正文中提取文本/纯文本【英文标题】:php extracting text/plain from mail body 【发布时间】:2011-10-09 16:59:15 【问题描述】:

这是 imap_php 库读取的一封邮件的内容。 我会提取内容类型的文本/纯文本; charset=ISO-8859-1 文本:

"data":"10/10/2011","regione":"pt","provincia":"pistoia","nome":"nome","tel":"12345","email":"mymailaddress","richiesta":"qualcosa"

如果我使用 imap_body($mbox, $result[0]) 我已返回框中的所有文本。 如果我使用 imap_fetchbody($mbox,$email_number,2);我返回了我不想要的 text/html 正文消息。

--20cf301e2f27a218c204a88578aa 内容类型:文本/纯文本; 字符集=ISO-8859-1 "data":"10/10/2011","re​​gione":"pt","provincia":"pistoia","nome":"nome","tel":"12345","email":" mymailaddress","richiesta":"qualcosa"

--20cf301e2f27a218c204a88578aa Content-Type: text/html; charset=ISO-8859-1 内容传输编码:引用打印 "data&= quot;:"10/10/2011","re​​gione":"pt","provi= ncia":"pistoia","nome":"nome","tel&= quot;:"12345","email":"mymailaddress","r= ichiesta":"qualcosa" --20cf301e2f27a218c204a88578aa--

如果我想要文本/纯正文,我必须使用什么? 谢谢。

【问题讨论】:

如果您查看imap_fetchbody 文档,您会发现this example 可能有用。 【参考方案1】:

你也可以试试这些

content-type:text/html

$message = imap_fetchbody($inbox,$email_number, 2);

content-type:plaintext/text

$message = imap_fetchbody($inbox,$email_number, 1);

关于imap_fetchbody的更多解释

【讨论】:

如果 1.1 和 1.2 没有产生内容,我会退回到这个。【参考方案2】:

您需要使用 1.1 作为 fetch_body() 的部分参数 例如:

$message = imap_fetchbody($inbox,$email_number, 1.1);

How to use IMAP in PHP to fetch mail body content?

【讨论】:

以上是关于php从邮件正文中提取文本/纯文本的主要内容,如果未能解决你的问题,请参考以下文章

从 MBOX 文件中提取纯文本/文本和 html 正文到列表

文本旋转属性在 PHP 的电子邮件正文中不起作用

EWS 正文纯文本

仅发送纯文本电子邮件,正文中包含 Rails mime 部分

Rails - 邮件,将正文作为纯文本获取

从 php 中的 postfix 解析邮件数据(搜索 mime-parser/decoder 类)