Получение только ответа из сообщения 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
Author: Saulius Antanavicius, 2012-01-18

2 answers

Не существует универсального стандартного формата для цитирования в сообщениях электронной почты - все почтовые клиенты, включая Gmail, имеют свои собственные способы определения того, что представляет собой "ответ". Таким образом, IMAP не может получить только "ответ" в сообщении.

 2
Author: duskwuff, 2012-01-18 00:18:25

Для этого нет метода IMAP, поэтому вам просто нужно отфильтровать его самостоятельно. Тем не менее, символы цитирования иногда различаются, и даже основные почтовые клиенты (будь то онлайн, такие как gmail и hotmail, или локальные программы, такие как Outlook и Thunderbird) время от времени ошибаются. Вы могли бы просто отфильтровать строки, начинающиеся с >, но имейте в виду, что это не на 100% правильно.

 1
Author: Wrikken, 2012-01-18 00:19:09