仅获取IMAP消息的回复

时间:2012-01-18 00:12:35

标签: php imap

目前我正在建立一个系统来跟踪我的电子邮件,但我不希望显示原始邮件。

有没有办法要求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">&lt;<a href=3D"mailto:mn=
> g.com">ma</a>&gt;</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> &gt; Another email hahahahqa!<br> &gt; On 17 Jan 2012,
> at 05:47, <a href=3D"mailto:.com">ma=
> na.com</a> wrote:<br> &gt;<br> &gt;&gt; Test message,
> higgins is very fat<br> &gt;&gt;<br> &gt;&gt;<br> &gt;&gt;<br>
> &gt;&gt;<br> &gt;&gt;<br> &gt;&gt; Please do not edit below<br>
> &gt;&gt; *************************<br> &gt;&gt; S<br> &gt;<br> <br> </blockquote></div><br><br
> clear=3D"all"><div><br></div>-- <br>Regards,<div=
> >,</div><div>=A0</div><br>
> 
> --f46d0442889037c1fc04b6c20955--

但那只是gmail,还有很多其他电子邮件客户端等等,有人可以提供帮助吗?

2 个答案:

答案 0 :(得分:2)

电子邮件中没有通用的标准格式引用 - 所有电子邮件客户端(包括GMail)都有自己的方式来发现构成“回复”的内容。因此,IMAP无法仅获取消息中的“回复”。

答案 1 :(得分:1)

没有IMAP方法,因此您只需自己过滤即可。但是,引用字符有时会有所不同,甚至主要的邮件客户端(如他们在线,如gmail和hotmail,本地程序如Outlook和Thunderbird)也会偶尔出错。您只需过滤以>开头的行,但请注意,这不是100%正确。