CSS в mail()

vorona
На сайте с 31.01.2010
Offline
91
526

Почему почтовые системы такие как gmail и mail.ru не отображают стили в сообщениях, в которых в блоках в атрибуете style явно указывается стиль для текущего блока?

            

$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=UTF-8\r\n";

Пример:

<div style="margin-bottom: 20px; padding-bottom: 5px; border-bottom: 1px solid #eee; min-height: 20px; padding: 19px; margin-bottom: 20px; background-color: #f5f5f5; border: 1px solid #e3e3e3; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);">ТЕКСТ</div>

В примере стили не будут отображаться...

AGIVEO (http://agiveo.net/) - бесплатная браузерная многопользовательская онлайн игра в жанре футбольного менеджера =)
UNIT-IS
На сайте с 19.10.2012
Offline
48
#1

Насчет mail.ru не скажу, но что по поводу gmail, то там есть поддержка стилей.

Попробуйте тег <style></style>.

Информация по теме http://www.campaignmonitor.com/css/

vorona
На сайте с 31.01.2010
Offline
91
#2
UNIT-IS:
Насчет mail.ru не скажу, но что по поводу gmail, то там есть поддержка стилей, но почему-то только не в блоке style="".
Используйте тег <style></style>.
Информация по теме http://www.campaignmonitor.com/css/

Брал и описывал стили в <style></style>, а потом писал только имена стилей, но результат тот же - они не отображаются...

UNIT-IS
На сайте с 19.10.2012
Offline
48
#3
vorona:
Брал и описывал стили в <style></style>, а потом писал только имена стилей, но результат тот же - они не отображаются...

Построение валидное?

<html>, <head>, <body>?

vorona
На сайте с 31.01.2010
Offline
91
#4
UNIT-IS:
Построение валидное?
<html>, <head>, <body>?

            $subject = 'Subject';
$headers = "From: Site <" . $adminEmail . ">\r\n";
$headers .= "Reply-To: ". $adminEmail . "\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=UTF-8\r\n";

$message = '<html><body>';
$message .= '<style>
.well {
margin-bottom: 20px;
padding-bottom: 5px;
border-bottom: 1px solid #eee;

min-height: 20px;
padding: 19px;
margin-bottom: 20px;
background-color: #f5f5f5;
border: 1px solid #e3e3e3;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
}

.well h2 {
font-size: 25px;
line-height: 30px;

font-weight: normal;
color: #666;
margin: 3px 0px;
padding: 3px 0px;
}

.well h2 a {
font-size: 25px;
line-height: 30px;

text-decoration: none;
color: #777;
}

.meta {
border-top: 1px solid #eee;
border-bottom: 1px solid #eee;
margin: 8px 0px;
padding: 5px 8px;
color: #555;
text-transform: uppercase;
font-size: 12px;
background: #eee url("/img/header-back.png") repeat;
}

.pull-right {
float: right;
}

</style>';
UNIT-IS
На сайте с 19.10.2012
Offline
48
#5

А если <style> в <head>?

С другими почтовиками пробовали?

Еще как вариант, посмотреть исходный код любого рекламного сообщения каких-либо интернет магазинов :).

P.S: Есть мысль что inline стили не применяются к блокам в почте. Протестируйте что-то вида: <span style="display:block; ..... "></span>

vorona
На сайте с 31.01.2010
Offline
91
#6
UNIT-IS:
А если <style> в <head>?
С другими почтовиками пробовали?
Еще как вариант, посмотреть исходный код любого рекламного сообщения каких-либо интернет магазинов :).

Ну в том документе, в котором вы дали, gmail всё равно не будет обрабатывать <style></style>

Спасибо за совет, попробую

UNIT-IS
На сайте с 19.10.2012
Offline
48
#7
vorona:
Ну в том документе, в котором вы дали, gmail всё равно не будет обрабатывать <style></style>

Спасибо за совет, попробую

Видел, но попробовать стояло) Инфа по ссылке за январь 2013.

Я отредактировал предыдущий пост, попробуйте трюк с display:block;

vorona
На сайте с 31.01.2010
Offline
91
#8
UNIT-IS:
Видел, но попробовать стояло) Инфа по ссылке за январь 2013.
Я отредактировал предыдущий пост, попробуйте трюк с display:block;

Хорошо, попробую, спасибо за помощь.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий