Я работаю над каким-то приложением, где я могу получать электронные письма из своего почтового ящика через работу cron, где я просто вставляю почту, почтовый объект и почтовое тело в базы данных MySQL.Лучший способ для хранения электронного письма в базе данных
Проблемы я имею с различными mailtypes как HTML письмо, текстовые письма, ..
Есть ли способ, чтобы получить только текст? Я пробовал с fetchbody и HTML entitites, printable_decode, но это приводит к иногда пустой вставке тела или ко всем специальным символам или иногда совершенным.
//$body = mysqli_real_escape_string($db, htmlentities(quoted_printable_decode(imap_fetchbody($stream,$email_id, 1.2)), ENT_QUOTES));
$body = mysqli_real_escape_string($db, quoted_printable_decode(imap_fetchbody($stream,$email_id, 1.2)));
//$body = quoted_printable_decode(imap_fetchbody($stream,$email_id,2));
$bodyText = imap_fetchbody($stream,$email_id,1.2);
if(!strlen($bodyText)>0){
$bodyText = "<html><body>".imap_fetchbody($stream,$email_id,1)."</body></html>";
}
Затем я попытался с полным HTML тела, но это создает проблемы с установкой в моей базе данных, и если я убегаю строку, то HTML получает грязно. Я временно исправил его, получив полное тело HTML и записав его в .html-файл, но это не совсем вариант.
Причина, почему я хранить их в базу данных MySQL так что я могу назначить пользователь, цвет, .. в разные письма (что это не вариант с IMap почтой в Outlook, для отл.)
Моих конечный Идея состоит в том, чтобы сохранить электронные письма, точно так же, как это отображается в Outlook, а затем показывать их точно так же, как на странице .php, но это не всегда так просто.
Возможно, я решаю эту проблему совершенно неправильно, но, возможно, у вас, ребята, есть советы, идеи или что-то еще?
Спасибо заранее, Bert
Спасибо! Должен ли я использовать printable_decode или htmlentities? Но я посмотрю на этот парсер электронной почты, не думал о таких вещах, может быть, есть какие-то сторонние классы, которые будут обрабатывать такие письма. Я проверю это! –
Это зависит от того, что вы сделали. Если вы хотите escape html, используйте htmlentities, но лучше разделите теги и покажите html. – Robert