За последние 24 часа нас посетили 17416 программистов и 1877 роботов. Сейчас ищут 1742 программиста ...

Почта в цвете

Тема в разделе "Работа с почтой", создана пользователем Khadringer, 3 дек 2008.

  1. Khadringer

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

    С нами с:
    3 дек 2008
    Сообщения:
    1
    Симпатии:
    0
    Подскажите, ка лучше посылать письма в текстом сообщение в виде HTML-страницы, стодержащей таблицы, стили и картинки?
    Пробовал через mail() -- картинки и стили (цвет/размер/жирность) не отображаются...
     
  2. ShamahN

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

    С нами с:
    10 апр 2007
    Сообщения:
    1.449
    Симпатии:
    0
    Адрес:
    г.Волгодонск Роствской обл.
    пробовал это пальцем тыкал?
     
  3. orick

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

    С нами с:
    13 фев 2009
    Сообщения:
    1
    Симпатии:
    0
    вот та же проблема.
    PHP:
    1.  
    2. function send_mail($to, $thm, $html, $path)
    3.   {   $path='attach.html';
    4.     $fp = fopen($path,"r");
    5.     if (!$fp)
    6.     {
    7.       print "Файл $path не может быть прочитан";
    8.       exit();
    9.     }
    10.              
    11.     $file = fread($fp, filesize($path));
    12.     fclose($fp);
    13.  
    14.     $boundary = "--".md5(uniqid(time())); // генерируем разделитель
    15.     $headers .= "MIME-Version: 1.0\n";
    16.     $headers .="Content-Type: multipart/mixed; boundary=\"$boundary\"\n";
    17.     $headers .= 'From:  <admin@website.com>' . "\r\n";
    18.     $multipart .= "--$boundary\n";
    19.     $kod = 'windows-1251';
    20.     $multipart .= "Content-Type: text/html; charset=$kod\n";
    21.     $multipart .= "Content-Transfer-Encoding: Quot-Printed\n\n";
    22.     $multipart .= "$html\n\n";
    23.     $message_part = "--$boundary\n";
    24.     $message_part .= "Content-Type: application/octet-stream\n";
    25.     $message_part .= "Content-Transfer-Encoding: base64\n";
    26.     $message_part .= "Content-Disposition: attachment; filename = \"".$path."\"\n\n";
    27.     $message_part .= chunk_split(base64_encode($file))."\n";
    28.     $multipart .= $message_part."--$boundary--\n";
    29.     if(!mail($to, $thm, $multipart, $headers))
    30.     {
    31.       echo "К сожалению, письмо не отправлено";
    32.       exit();
    33.     }
    34.   }
    35.  

    письмо прходит, но как аттачить в html картинки. если просто вставить в attach.html ссылки на серв - ничего естественно не отктывается. может можно их привязать вместе с письмом и указать в ссылке именно их?