在电子邮件中收到第一条消

时间:2015-01-14 04:15:00

标签: php email parsing mandrill

我有一个有趣的问题,我似乎无法弄清楚,需要一点指导(如果你愿意)。

我正在将短信转换为要发送的电子邮件,在我通过电子邮件发送邮件之前,我将以下内容添加到邮件中:

  $sending_message = $message . '<br>-------------- Reply above this line --------------';

因为格式是通过html发出的,所以它在gmail中正确呈现。现在,问题出现在这里。用户应该能够通过gmail回复该消息,并将其发送回另一个允许其转换回短信的PHP脚本。我是否使用

$message = $content[0]->msg->text;
or
$message = $content[0]->msg->html;

我得到的东西看起来像这样:

Test

On Tue, Jan 13, 2015 at 10:42 PM, 10digit#@email.mydomain.com <
10digit#@email.mydomain.com> wrote:

> kiojihiuhygyutfuy
>

我知道我可能只是想要获得响应文本的噩梦,但最好的方法是什么?

我试过了

    $temp_message = explode('-------------- Reply', $message);

    $message = trim($temp_message[0]);

我告诉你上面看到的结果。所以我对如何获取最后一条消息或者正在解析的电子邮件中的第一条消息感到困惑。如何解决这个问题,我们对此表示赞赏。谢谢!

2 个答案:

答案 0 :(得分:1)

我相信这个图书馆可以帮助你......

https://github.com/willdurand/EmailReplyParser

然后,您可以使用以下内容获取所需内容:

use EmailReplyParser\Parser\EmailParser;

$email = (new EmailParser())->parse($emailContent);
$content = $email->getVisibleText();

请注意:我自己还没有尝试过这个,但是我很快就做了一些研究。但我希望这可以帮助你得到你需要的东西:-)

答案 1 :(得分:0)

我已经尝试过了。真的很好https://github.com/willdurand/EmailReplyParser

row_model_instance.order