За последние 24 часа нас посетили 15084 программиста и 1753 робота. Сейчас ищут 1490 программистов ...

две картинки в теле письма

Тема в разделе "Работа с почтой", создана пользователем mihalich41, 16 авг 2011.

  1. mihalich41

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

    С нами с:
    16 авг 2011
    Сообщения:
    3
    Симпатии:
    0
    весь день сегодня провел изучая как красиво оформлять письма. Нашел код php который реализует вставку одной картинки. Мне в принципе ясен смысл, прикрепляет фаил, дает ему имя и ссылку типа <img src="cid: имя" /> вставляет в $body
    но не могу сделать так чтобы две картинки всунуть. Помогите, кому не сложно. Или напишите как Вы оформляете письма. (прописывать путь до картинки с сайта http://sait.ru/img.gif не подходит)

    <?php
    $file_name="2.png";
    $subj="Отправка изображения";
    $bound="spravkaweb-1234";
    $headers="From: \"vega\" <info@card.vl.ru> \n";
    $headers.="To: zosya164@mail.ru \n";
    $headers.="Subject: $subj \n";
    $headers.="Mime-Version: 1.0 \n";
    $headers.="Content-Type: multipart/alternative; boundary=\"$bound\" \n";
    $body="--$bound \n";
    $body.="Content-type: text/html; charset=\"windows-1251\" \n";
    $body.="Content-Transfer-Encoding: 8bit \n\n";
    $body.="<h3>Привет</h3>
    Это проба отправки письма с прикрепленной картинкой.<BR>
    А вот и сама картинка:<BR>
    <img src=\"cid:spravkaweb_img_1\">";
    $body.="\n\n--$bound \n";
    $body.="Content-Type: image/jpeg; name=\"".basename($file_name)."\" \n";
    $body.="Content-Transfer-Encoding:base64 \n";
    $body.="Content-ID: <spravkaweb_img_1> \n\n";
    $f=fopen($file_name,"rb");
    $body.=base64_encode(fread($f,filesize($file_name) ))." \n";
    $body.="--$bound-- \n\n";
    mail("webmaster@vega.pk.ru", $subj, $body, $headers);
    ?>
     
  2. mihalich41

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

    С нами с:
    16 авг 2011
    Сообщения:
    3
    Симпатии:
    0
    скажите, это же можно сделать? при чем легко? просто я основы php не учил...
     
  3. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    легко =) можно в инете найти класс, который сделает это за тебя.
     
  4. mihalich41

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

    С нами с:
    16 авг 2011
    Сообщения:
    3
    Симпатии:
    0
    Проблему решил

    повтором кода


    $body.="\n\n--$bound \n";
    $body.="Content-Type: image/jpeg; name=\"".basename($file_name)."\" \n";
    $body.="Content-Transfer-Encoding:base64 \n";
    $body.="Content-ID: <spravkaweb_img_1> \n\n";
    $f=fopen($file_name,"rb");
    $body.=base64_encode(fread($f,filesize($file_name) ))." \n";

    строчка

    $body.="--$bound-- \n\n";

    меня и путала.


    но письма только на mail.ru красиво приходят. вообщем сделал всё через Thunderbird от Mozila