2015-10-15 1 views
0

Я хочу отображать электронные письма на своем сайте с помощью PHP imap. Он работает нормально. Но когда я показываю HTML-тело почты, правила CSS уничтожают мой макет сайта.PHP imap, CSS от Mailbody уничтожить макет сайта

<div id="mail"><?php echo $mail->HTMLbody; ?></div> 

Я пишу функцию, для поиска и удаления правил CSS в $mail->HTMLbody, он работает, но некоторые из правил CSS необходимы для почтового макета.

У меня есть только идея, я смотрю в строку и добавляю infront каждого правила «#mail», но я уверен, что лучше сделать это. У вас есть идеи?

ответ

1

Я думаю, вы ответили на свой вопрос. Если вы не хотите загружать $ mail внутри iframe, любые правила CSS, включенные в него, будут применяться ко всему документу. Я бы использовал описанный метод и добавил #mail в начало каждого правила CSS.

+0

О, спасибо. Это оно. –

1

Я бы рекомендовал использовать iframe для отображения электронных писем, потому что все css в iframe не повлияют на остальную часть сайта, но все равно отображают электронное письмо должным образом. Я бы также рекомендовал включить sandbox на iframe, чтобы предотвратить выполнение javascript. More info

+0

Я думаю, вы прибили его. «Iframe» решает много потенциальных проблем безопасности. –

+0

О, спасибо. Это оно. –

+0

@SebastianGl. Рад, что я мог бы помочь, но я хотел бы рекомендовать, чтобы вы прочитали атрибут песочницы iframe, чтобы предотвратить некоторые потенциальные угрозы безопасности. – Thaillie