Есть CRM в которой есть список контактов. Нужно интегрировать Gmail. Под интеграцией подразумевается просмотреть все письма в почтовом ящике, сопоставить с адресами контактов, и если есть совпадение - привязать эти письма к контактам. У каждого контакта есть лента событий состоящая из разных элементов, в том числе отправленных и полученных писем.
С помощью gmail api вытаскиваю все письма, сравниваю их с адресами контактов, если сопадают - сохраняю сообщение в БД. В сообщении парсю его части, нахожу text/html и text/plain версии, сохраняю в БД.
Дальше нужно их отобразить. Вопрос в том, как это правильно сделать. Если просто вывожу HTML то получается довольно плохо, плюс письма могут содержать в себе стили которые влияют на всю CRM (например цвет ссылки перекрашивают). Единственный вариант о котором подумал - выводить в iframe верстку, но думаю костыль.
Посмотрел в другой CRM, у них верстка письма отличается от верстки письма в gmail. Не очень понимаю как так получается, потому что из gmail-а у меня получилось вытащить либо его html либо чистый text/plain который не понятно как вообще отображать.
Спасибо.
Update
Еще раз, "С помощью gmail api вытаскиваю все письма, сравниваю их с адресами контактов, если сопадают - сохраняю сообщение в БД. В сообщении парсю его части, нахожу text/html и text/plain версии, сохраняю в БД."
Да, я смотрел апи, я с помощью апи вытащил список писем, сохранил их в БД, теперь вывожу. Прям вот {{ $message->htmlBody }}. После этого пол сайта летит т.к. внутри писем свои стили. Ну например где-нибудь "color: red !important" или еще чего. Плюс выглядит отображение не очень, например я не знаю как скрыть список blockquote, когда отвечаешь на письма то вся история как бы в одном письме сохранятся, обычно в гугле это троеточием скрывается "...".
Впихнул в iframe содержимое, но думаю что это криво, по другому не знаю как. Заглянул в getbase.com, синхронизовал там письма, смотрю хтмл письма в gmail - там один хтмл, смотрю верстку в getbase.com - там другой хтмл у письма, не понятно, они же не обрабатывают предварительно письмо?
"С помощью gmail api вытаскиваю все письма, сравниваю их с адресами контактов, если сопадают - сохраняю сообщение в БД. В сообщении парсю его части, нахожу text/html и text/plain версии, сохраняю в БД."