目前我正在建立一个系统来跟踪我的电子邮件,但我不希望显示原始邮件。
有没有办法要求IMAP只返回回复?不是全部(当您按任何电子邮件客户端的电子邮件回复时,它会将原始电子邮件添加到底部)。或者通过PHP本身来做?我目前有
$msg = nl2br($msg);
$msgs2 = explode("<br />", $msg);
//pre($msgs2);
foreach($msgs2 as $msg) {
if(strpos($msg, '> ') === false) $message .= "<br>".$msg;
}
return $message;
但是如果你看看原始的gmail回复,它就像HTML版本等那样。
> --f46d0442889037c1fc04b6c20955 Content-Type: text/plain; charset=ISO-8859-1
>
> fghjfghjfgh test test eteststs
>
> On Tue, Jan 17, 2012 at 11:35 PM, mm <
> mg.com> wrote:
>
> >
> > On 17 Jan 2012, at 05:56, mom wrote:
> >
> > > Another email hahahahqa!
> > > On 17 Jan 2012, at 05:47, mcom wrote:
> > >
> > >> Test message, higgins is very fat
> > >>
> > >>
> > >>
> > >>
> > >>
> > >> Please do not edit below
> > >> *************************
> > >> S
> > >
> >
> >
>
>
> --
>
> --f46d0442889037c1fc04b6c20955 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
>
> fghjfghjfgh test test eteststs<br><br><div class=3D"gmail_quote">On
> Tue, Ja= n 17, 2012 at 11:35 PM, <a
> href=3D"mailto:maom">mm</a>
> <span dir=3D"ltr"><<a href=3D"mailto:mn=
> g.com">ma</a>></span> wrote:<br> <blockquote
> class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p= x
> #ccc solid;padding-left:1ex"><br> On 17 Jan 2012, at 05:56, <a href=3D"mailto:.com">mag.com</a>
> wrote:<br> <br> > Another email hahahahqa!<br> > On 17 Jan 2012,
> at 05:47, <a href=3D"mailto:.com">ma=
> na.com</a> wrote:<br> ><br> >> Test message,
> higgins is very fat<br> >><br> >><br> >><br>
> >><br> >><br> >> Please do not edit below<br>
> >> *************************<br> >> S<br> ><br> <br> </blockquote></div><br><br
> clear=3D"all"><div><br></div>-- <br>Regards,<div=
> >,</div><div>=A0</div><br>
>
> --f46d0442889037c1fc04b6c20955--
但那只是gmail,还有很多其他电子邮件客户端等等,有人可以提供帮助吗?
答案 0 :(得分:2)
电子邮件中没有通用的标准格式引用 - 所有电子邮件客户端(包括GMail)都有自己的方式来发现构成“回复”的内容。因此,IMAP无法仅获取消息中的“回复”。
答案 1 :(得分:1)
没有IMAP方法,因此您只需自己过滤即可。但是,引用字符有时会有所不同,甚至主要的邮件客户端(如他们在线,如gmail和hotmail,本地程序如Outlook和Thunderbird)也会偶尔出错。您只需过滤以>
开头的行,但请注意,这不是100%正确。