7

我正在使用 PHP 创建一个基于电子邮件的 CMS,并且我需要使用 Gmail 作为电子邮件服务。该脚本现在非常简单,我遇到的唯一问题是处理 Gmail 的电子邮件语法。

收到电子邮件时,我期待一些更易于管理的东西,例如:

<u>asfasfasf</u> <u style="font-style: italic;">asdfaf</u> <ustyle="font-style: italic; font-weight: bold;">asfsaf</u> asfasf <a href="http://asfasfafs">asfasf</a>
<br />
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent sodales mauris quis nisl pellentesque eleifend. Sed convallis turpis quis turpis malesuada feugiat. Fusce sed metus non orci convallis congue. Integer egestas vulputate ipsum, sed fringilla velit elementum scelerisque. Pellentesque convallis metus sit amet enim faucibus adipiscing.

但我得到了这个(鸭子和封面):

<u>asfasfasf </u><u style=3D"font-style: italic; ">asdfaf =A0</u><u style=
=3D"font-style: italic; font-weight: bold; ">asfsaf </u>asfasf <a href=3D"h=
ttp://asfasfafs">asfasf</a><div><br></div><div><meta http-equiv=3D"content-=
type" content=3D"text/html; charset=3Dutf-8"><span class=3D"Apple-style-spa=
n" style=3D"font-family: Arial, Helvetica, sans; font-size: 11px; "><p styl=
e=3D"text-align: justify; font-size: 11px; line-height: 14px; margin-top: 0=
px; margin-right: 0px; margin-bottom: 14px; margin-left: 0px; padding-top: =
0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent sodales m=
auris quis nisl pellentesque eleifend. Sed convallis turpis quis turpis mal=
esuada feugiat. Fusce sed metus non orci convallis congue. Integer egestas =
vulputate ipsum, sed fringilla velit elementum scelerisque. Pellentesque co=
nvallis metus sit amet enim faucibus adipiscing.</p>
</span>

我试过 Tidy,但它无法处理 Gmail 的链接和“换行符”。休息时间就=在最后,这完全搞砸了整洁,链接有时(我认为是随机的)是这样的:<a href=3D"http://asfasfafs">asfasf</a>,中间有那些=\n

我将如何训练 Tidy 处理这种亵渎神明的 HTML 并输出一些我可以直接通过管道传输到<div>网站内部的内容?

谢谢!

4

1 回答 1

10

这看起来像带引号的可打印编码。您应该检查消息的“Content-Transfer-Encoding:”标题行以查看是否存在任何编码(例如 base-64 或quoted-printable)并在尝试解析内容之前删除编码。

于 2010-12-06T18:54:15.917 回答