2012-01-18 2 views
2

В настоящее время я создаю систему для отслеживания моих писем, однако я не хочу, чтобы отображалось исходное сообщение.Получение только ответа от сообщения 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 ответ, то есть вещь ssuch как 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

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

1

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