как извлечь ответное электронное письмо из исходного электронного письма
Я использую imap для захвата электронных писем и вставки их в базу данных mysql. Но я не хочу, чтобы оригинальное электронное письмо было включено.
Итак, допустим, я отправляю электронное письмо, содержащее это: Привет, как погода.
А затем вы отвечаете Погода отличная
Электронное письмо, которое php считывает из Imap, выглядит следующим образом: Погода отличная Привет, как погода.
Можно ли удалить исходное сообщение "Привет, как погода"?
Я не должен подкован в этом деле и, вероятно, нуждается в очень четком объяснении. Спасибо!
3 answers
Нет. Поскольку нет стандартного способа ответить (т. Е. Некоторые люди используют >, некоторые используют |, некоторые публикуют вверху, некоторые смешивают, некоторые прикрепляют), нет способа точно и надежно извлечь оригинал. Вы могли бы поиграть с регулярным выражением, чтобы поймать некоторые из наиболее распространенных случаев, но я думаю, что вы обнаружите, что этот маршрут доставит гораздо больше проблем, чем того стоит.
Насколько мне известно, надежного способа сделать это не существует. Когда вы отвечаете на электронное письмо, MUA имеет право переформатировать исходное сообщение по своему усмотрению. Например, Outlook может преобразовать исходный текст в HTML и добавить невидимые теги.
Если у вас есть доступ ко всему потоку электронной почты, вы можете найти исходное сообщение на основе темы или любых подсказок, которые дают вам заголовки.
Это все АФАИК, так что кто-нибудь, пожалуйста, поправьте меня, если я ошибаюсь.
Вы могли бы сделать то, что делает Gmail, когда вы отправляете несколько электронных писем туда и обратно с одной и той же темой.
Просто сохраните копию отправленного вами электронного письма, а затем, когда вы получите ответ, найдите похожий текст или, как его называет Gmail: "текст в кавычках".
Или вы можете искать определенные шаблоны на основе их домена электронной почты. Однако нет ответа, который будет работать в 100 % случаев; все это основано только на вашем лучшем предположении.