Можно ли отправлять смешанные txt / html письма с помощью функции php mail - PullRequest
0 голосов
/ 09 сентября 2010

Я провожу тесты, я пробовал два решения:

Первый отправляет сообщение внутри заголовков (параметр сообщения функции mail () пуст) []

    $boundary = "nextPart";
    $headers = "MIME-Version: 1.0\r\n";
    $headers .= "From: ".$from_name." <".$from.">\r\n";
    $headers .= "Content-Type: multipart/alternative; boundary = $boundary\r\n";
    //Html
    $headers .= "\n--$boundary\n";
    $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
    $headers .= $html;
    //Text
    $headers .= "\n--$boundary\n";
    $headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";
    $headers .= $text;

Второй: http://www.webcheatsheet.com/PHP/send_email_text_html_attachment.php#attachment (установить заголовки и отправить их внутри сообщения)

Ни один из них не работает должным образом (первый не работает вообще, второй работает в gmail, но это не правильно отформатированный адрес электронной почты, и некоторые клиенты не могут его обработать). Рассекая код php mailer (http://phpmailer.worxware.com/index.php?pg=phpmailer) я увидел, что он даже не пытается отправлять составные электронные письма.

Так что мне интересно, можно ли отправлять ПРАВИЛЬНО отформатированные составные письма с функцией php mail.

Спасибо

p.s. Я знаю и использую груши, я просто хочу понять это.

Ответы [ 2 ]

2 голосов
/ 09 сентября 2010

да, это возможно. Функция PHP mail(); - не более чем удобная функция для доставки вашего «сырого» сообщения в обработчик почты базовой операционной системы (например, sendmail).

Так что, если ваши заголовки и тело сообщения объединены в правильное MIME-кодированное сообщение, все будет работать нормально.

Чтобы выяснить детали, найдите простой почтовый клиент и проанализируйте его электронные письма. Объедините это с MIME спецификациями , и вы должны туда добраться.

1 голос
/ 09 сентября 2010

Из того, что я знаю, mail () просто отправляет то, что ему дано, так что да, вполне возможно отправлять все, что вы хотите, включая составные пантомимы.Фактически, это именно то, что почтовые классы (pear, phpmailer) делают за кулисами, хотя они также могут быть настроены для использования других транспортов.

Другими словами, почтовый класс сравнивается с "mail ()"как движок шаблонов сравнивает с" echo ".

...