За последние 24 часа нас посетил 62151 программист и 1793 робота. Сейчас ищут 840 программистов ...

Передача стилей в через функцию mail

Тема в разделе "PHP для новичков", создана пользователем Kaner, 17 янв 2012.

  1. Kaner

    Kaner Активный пользователь

    С нами с:
    6 янв 2011
    Сообщения:
    58
    Симпатии:
    0
    собственно:
    не передаются следующие стили:
    Код (Text):
    1. -moz-box-shadow: 0 0 10px #000;;
    2. -webkit-box-shadow: 0 0 10px #000;
    3. box-shadow: 3px 3px #919faf;
    4. border-radius:10px;
    Есть ли возможность их передать?
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    а как вы их передаете и почему решили, что они не передаются?
     
  3. Kaner

    Kaner Активный пользователь

    С нами с:
    6 янв 2011
    Сообщения:
    58
    Симпатии:
    0
    Мой код выглядит так,эти стили я передаю не в хедере а в самом тексте письма так:
    Код (Text):
    1.  
    2. $content="
    3.         <style type='text/css'>
    4.             table.program td{
    5.                 background-color:#fff ;
    6.                 font-size:13pt;
    7.                 padding:5px;
    8.                 text-align:left;
    9.             }
    10.             table.program input {
    11.                 text-align:center;
    12.                 border:1px solid #000;
    13.                 width:50px;
    14.             }
    15.  
    16.             table.program {
    17.                 width:450px;
    18.                 margin:auto;
    19.             }
    20.  
    21.             table.program tr:first-child td{
    22.                 text-align:center;
    23.                 background-color:#ffaf00;
    24.             }
    25.  
    26.             .begin_econom {
    27.                 display:inline-block;
    28.                 background-color:#275a97;
    29.                 border:3px solid #fff;
    30.                 color:#fecc05;
    31.                 width:150px;
    32.                 height:70px;
    33.                 font-size:14pt;
    34.                 word-wrap:normal;
    35.                 -moz-box-shadow: 0 0 10px #000;;
    36.                 -webkit-box-shadow: 0 0 10px #000;
    37.                 box-shadow: 3px 3px #919faf;
    38.                 border-radius:10px;
    39.                 margin:auto;
    40.                 cursor:pointer;
    41.                 text-align:center;
    42.                 vertical-align:middle;
    43.             }
    44.             .begin_econom a{
    45.                 text-decoration:none;
    46.                 color:#fecc05;
    47.             }
    48.  
    49.             table.program2 td{
    50.                 text-align:center;
    51.             }
    52. </style>
    53. <table >
    54. ..... и дальше тело письма
    Код (Text):
    1.  
    2. $headers= "MIME-Version: 1.0\r\n";
    3. $headers.= "Content-type: text/html; charset=windows-1251 \r\n";
    4. mail('test@rambler.ru','Testing',$content,$headers) ;
    вот так вот
    почему думаю что не передаются, да потому что к блоку с классом begin_econom применяются все стили кроме этих, то есть тени нет, углы прямоугольные
     
  4. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    А вы уверены, что у вас почтовый клиент Firefox?
     
  5. Kaner

    Kaner Активный пользователь

    С нами с:
    6 янв 2011
    Сообщения:
    58
    Симпатии:
    0
    Код (Text):
    1. box-shadow: 3px 3px #919faf;
    2.  border-radius:10px;
    это в хроме работает

    плюс даже когда стили для этого объекта смотрю через браузер..все равно там нет этих стилей
     
  6. pr0n1x

    pr0n1x Активный пользователь

    С нами с:
    30 мар 2006
    Сообщения:
    486
    Симпатии:
    2
    Адрес:
    Киев
    Это потому что стили нужно передавать не через глобальные стили, а использоваться параметр style для каждого элемента:
    Код (Text):
    1.  
    2. <div style="color:red">Hello, world!</div>
     
  7. Kaner

    Kaner Активный пользователь

    С нами с:
    6 янв 2011
    Сообщения:
    58
    Симпатии:
    0
    при помощи style ЭТИ стили также не передаются.

    ну да ладно,видимо никто не знает ответ,тогда пойду другим путем... такой вопрос а как правильно картинку передать через mail?

    брал пример с какого-то сайта:
    Код (Text):
    1.  
    2. $file_name = "accept_button.jpg";
    3. $subj = "Отправка изображения";
    4. $bound = "spravkaweb-1234";
    5. $headers= "Mime-Version: 1.0\n";
    6. $headers .= "Content-Type: multipart/alternative; boundary=".$bound."\n";
    7. $body = "--".$bound."\n";
    8. $body .= "Content-type: text/html; charset='windows-1251'\n";
    9. $body .= "Content-Transfer-Encoding: 8bit; \n\n";
    10. $body .= "<h3>Привет</h3>Это проба отправки письма с прикрепленной картинкой.<br/>А вот и сама
    11. картинка:<br/><img src=cid:spravkaweb_img_1><br/>
    12. $body .= "\n\n--".$bound."\n";
    13. $body .= "Content-Type: image/jpeg; name=".basename($file_name)."\n";
    14. $body .= "Content-Transfer-Encoding:base64 \n";
    15. $body .= "Content-ID: <spravkaweb_img_1> \n\n";
    16. $f = fopen($file_name,"rb");
    17. $body .= base64_encode(fread($f,filesize($file_name)))."\n";
    18. $body .= "--".$bound."--\n\n";
    19. mail("test@rambler.ru", $subj, $body, $headers);
    однако на почте рамблера выводится текст:<h3>Привет</h3>....
    но картинка не вставляется, стоит значок будто не может найти файл,а на почте яндекса,текста нет,есть просто прикрепленное изображение...как правильно вставить картинку в тело письма?