如何忽略使用 Peeker checkin IMAP 获取的电子邮件中的嵌套文本

How to ignore nested text in emails getting with Peeker checkin IMAP

提问人:Met El Idrissi 提问时间:8/31/2023 更新时间:8/31/2023 访问量:8

问:

我有一个票务系统,我使用 Peeker 接收电子邮件(直接签入 IMAP):

https://sophistry.github.io/peeker/peeker_quickstart.html

我所做的是这样的:

 $email = $this->peeker->get_message($email_id);
 $emailbody = $purifier->purify($email);

然后$emailbody它将根据 [#ticket_token] 插入到数据库中

$ticket = ['message' = $emailbody,...]
Ticket::create($ticket);

问题是,当我们交叉了几封电子邮件时,来自任何电子邮件管理器的所有嵌套消息也包括在内,并将列表变成异常。

我想要的是只插入主要消息,并忽略电子邮件正文中的任何嵌套电子邮件。我已经搜索了是否有任何模式或任何元素可以剪切,即使它们在 gmail.com、outlook 和其他电子邮件中有所不同,但我找不到方法。

有人有什么想法吗?

谢谢

PHP 电子邮件 IMAP

评论

0赞 Max 8/31/2023
这没有标准。你只能通过启发式的方式做到这一点;例如,这些服务都倾向于使用某种 CSS 或 HTML 类来标记回复,因此您必须使用 HTML 解析器来提取它们,但每个电子邮件客户端都会以不同的方式执行。

答: 暂无答案