[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вопрос о формате тела письма в скрипте
agent
Может вопрос не очень доходчивый, но попытаюсь его расшифровать.
Есть у меня один скриптик для рассылки писем с вложениями. Вложения отправляются отлично, но вот с самим телом письма запара, т.к. текст пись должен содержать и жирный шрифт и наклонный и всякий разный. Была у меня идея в тело письма встраивать уже готовый текст, оформленный тегами хтмл, при этом в заголовке указав content-type: text/html, но нечего из этого не выходит. И письмо приходит вместе с тегами.
Вот полюбуйтесь
$filename="message.txt";-файл-вложение

class mime_mail {
var $parts;
var $to;
var $from;
var $headers;
var $subject;
var $body;

// создаем класс
function mime_mail() {
$this->parts = array();
$this->to = "";
$this->from = "";
$this->subject = "";
$this->body = "";
$this->headers = "";
}

// как раз сама функция добавления файлов в мыло
function add_attachment($message, $name = "", $ctype = "application/octet-stream") {
$this->parts [] = array (
"ctype" => $ctype,
"message" => $message,
"encode" => $encode,
"name" => $name
);
}

// Построение сообщения (multipart)
function build_message($part) {
$message = $part["message"];
$message = chunk_split(base64_encode($message));
$encoding = "base64";
return "Content-Type: ".$part["ctype"].($part["name"]? "; name = "".$part["name"].""" : "")." Content-Transfer-Encoding: $encoding $message ";
}

function build_multipart() {
$boundary = "b".md5(uniqid(time()));
$multipart = "Content-Type: multipart/mixed; boundary = $boundary This is a MIME encoded message. --$boundary";
for($i = sizeof($this->parts)-1; $i>=0; $i--) $multipart .= " ".$this->build_message($this->parts[$i]). "--$boundary";
return $multipart.= "-- ";
}

// Посылка сообщения, последняя вызываемая функция класса
function send() {
$mime = "";
if (!empty($this->from)) $mime .= "From: ".$this->from. " ";
if (!empty($this->headers)) $mime .= $this->headers. " ";
if (!empty($this->body)) $this->add_attachment($this->body, "", "text/plain");
$mime .= "MIME-Version: 1.0 ".$this->build_multipart();
mail($this->to, $this->subject, "", $mime);
}
}

$msg="

Уважаемые Господа!


Предлагаем Вам и специалистам Вашей Компании принять участие в работе: Международной выставке и конференции— POWER INDIA 2006


 Время проведения: 12-14 Октября 2006 г. Место проведения: Мумбай (Бомбей), (Индия)


Тема Конференции: «Индия и Азиатские страны - их роль в Энергетическом секторе»


Тематики выставки:




  •  Электростанции и оборудование для них; 

  • Оборудованная площадь в павильоне (минимум 9 кв.м.) – (включая Service Tax plus education cess {10.2% of net space charges , Security Deposit @ 10% of net space charges): =13000 руб./ м2 (Стандартное оборудование: стеновые панели, фриз с названием компании, ковровое покрытие, 4 спот-лампы, 1 розетка, мусорная корзина, 1 стол, 2 стула, общее кондиционирование, общее освещение)


    Необорудованная открытая площадь (минимум 27 кв.м.) - (включая Service Tax plus education cess {10.2% of net space charges}, Security Deposit @ 10% of net space charges): =10900 руб./м2



    ";

    //$msg=strip_tags($msg);
    $msg = convert_cyr_string ($msg,w,k);

    $file = "../marketing/subscrlist.csv";
    $maillist = file($file);
    $filename="message.txt";


    print "В базе". sizeof($maillist) ." адресов
    ";
    for ($i = 0; $i < sizeof ($maillist); $i++)
    {
    $attachment = fread(fopen("$filename", "r"), filesize("$filename"));
    $mail = new mime_mail();
    $mail->from = "agent";//$mailfrom;
    $mail->headers ="Content-type: text/html ";
    $mail->to = $maillist[$i];
    $mail->subject = "hEllO";//$subject;
    $mail->body = $msg;
    $mail->add_attachment("$attachment", "$filename", "Content-Transfer-Encoding: base64 /9j/4AAQSkZJRgABAgEASABIAAD/7QT+UGhvdG9zaG
    Content-type: text/html");
    $mail->send();
    }
    echo "Готово!";
    ?>



    Спустя 1 час, 4 секунды (9.08.2006 - 19:00) vasa_c написал(а):
    Для решения данной задачи нужно:
    1. Почитать про формат в котором идут письма.
    2. Продумать структуру письма и набор заголовков.
    3. Реализовать отправку письма со структурой из п.2 в сценарии.

    Если что-то не работает, тут может быть две причины:
    1. Неверно продуманы заголовки.
    2. Сценарий формирует не так, как задумано.

    Локализуй проблему.
    Если п.2. — приведи какие заголовки ты хочешь послать и какие посылаются на самом деле. Тогда будем смотреть код.
    Если п.1. — приведи только итоговые заголовки. Код смотреть смысла нет.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.