получить первое сообщение по электронной почте

У меня есть интересная проблема, которую я не могу понять правильно и нуждаюсь в небольшом руководстве (если хотите).

Я преобразую SMS-сообщение в электронное письмо для отправки, и прежде чем отправить сообщение по электронной почте, я добавляю в сообщение следующее:

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

Поскольку формат отправляется через html, он правильно отображает в gmail. Теперь вот где проблема возникает. Пользователь должен иметь возможность ответить на это сообщение через gmail, и оно отправляется обратно в другой скрипт php, который позволяет ему преобразовывать обратно в сообщение sms. Пользуюсь ли я

$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]);

Что сводит меня с результатами, которые вы видите выше. Поэтому я немного озадачен тем, как я могу получить последнее сообщение или первое сообщение в разбираемом электронном письме. Любое понимание ценится на том, как идти об этом. Спасибо!

1

Решение

Я верю, что эта библиотека поможет вам в широком масштабе …

https://github.com/willdurand/EmailReplyParser

Затем вы можете получить необходимый контент, используя:

use EmailReplyParser\Parser\EmailParser;

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

Пожалуйста, обратите внимание: я на самом деле еще не пробовал это, но провел некоторые исследования, так как я буду очень скоро. Но я надеюсь, что это поможет вам получить то, что вам нужно 🙂

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]