  
  || разделы:: |   |   
  || поиск по сайту:: |   |   
  || реклама:: |   |   
  || новости почтой:: |   |   
 Популярные статьи |  
  |   
 Hot 5 Stories |  
  |   
  || рекомендуем:: |  
 
  |   
  
 |   | 
 
Отправка почты. Эксклюзивные заголовки. 
 
Отправка почты. Эксклюзивные заголовки. 
Итак, посмотрим, как можно приукрасить и в тоже время повысить информативность почты при помощи заголовков почтовых сообщений. 
Вводная: 
Рассмотрим скрипт, который отсылает на ваш адрес информацию, забитую посетителем в форму на вашем сайте. Допустим это будет заказ документации. Форма выглядит так: 
В скрипт приходят следующие переменные: 
<?php 
$lname = ""; // Фамилия 
$fname = ""; // Имя Отчество 
$org   = ""; // Организация 
$pos   = ""; // Должность 
$tel   = ""; // Телефон 
$milo  = ""; // Адрес электронной почты 
?> 
Рассматривать проверку правильности заполнения формы здесь не будем. Об этом написано уже довольно много и вообще это тема для отдельной статьи.
Посмотрим, как можно поиграться с данными, что отсылает эта форма скрипту.
Определим переменные, которые будут задействованы в отправке письма: 
<?php 
$from   = "";           // От кого письмо 
$to     = "";           // Кому письмо. Здесь целесообразно поставить свой адрес 
$subj   = "";           // Заголовок письма 
$body   = "";           // Тело письма 
$adds   = "";           // Дополнительные заголовки 
... 
// Отправляем письмо 
mail($to,$subj,$body,$adds); 
 
?> 
Если вы, к примеру хотите, чтобы вместо адреса отправителя стояло его ФИО, то с переменной $from пишем следующее:
<?php 
$from = $lname.$fname.'<'.$milo.'>'; 
?> 
Ну с заголовком, телом и адресом получателя вы разберетесь без сторонней помощи. Посмотрим, как можно использовать переменную $adds, которая представляет собой добавочные заголовки. 
Для того, чтобы по-человечески работала кнопка Reply в клиентском почтовике, пишем следующее: 
<?php
$adds = "From: ".$lname.' '.$fname.'<'$milo.'>'."nReplyTo: ".$lname.'  '.$fname.'<'$milo.'>'."nOrganisation: ".$org."n"; 
?> 
Заголовок будет выглядеть так: 
From: Иванов Иван Иваныч <ivan@ivanich.ru> ReplyTo: Иванов Иван Иваныч  Organisation: Бобровод любитель 
Если вы хотите, чтобы письмо было красиво оформленно рюшками с вашего сайта, добавим следующее: 
<?php 
$adds .= "Content-Type: text/html;charset=koi8-rn"; 
?> 
Установить важность сообщения можно путем добавления следующего параметра: 
<?php 
$adds .= "X-Priority:3 (Normal)n"; 
?> 
Соответственно 1 - самая высокая важность, 5 - самая низкая. Мелкософтовские мылеры (Outlook Express & M$ Outlook) пишут свой параметр в дополнение к этому заголовку. Выглядит это так: 
<?php 
$adds .= "X-MSMail-Priority:3"; 
?> 
В параметре X-Mailer записано, при помощи какого софта письмо было создано и послано. Сюда вы можете написать что вашей душе угодно :)).  Например: 
<?php 
$adds .= "X-Mailer: Mega Super AutoMailer by Vasya Pupkinn"; 
?> 
Для того, чтобы получить уведомление о прочтении Вашего письма, включите следующую строку: 
<?php 
$adds .= "Diposition-Notification-To: mymail@myhost.mydomainn"; 
?> 
Пока все. Надеюсь, что продолжение появится, а пока не забывайте ставить символ новой строки. :)))
 
  
 
  |   
 
 
А как насчет заголовка 
Content-Transfer-Encoding: 8bit 
 
И насколько я знаю рекомендуется делать не "\n" а "\r\n" для разделения заголовков. 
Да и в случае посылки текста в html-формате желательно в письмо еще вкладывать такой же текст но в формате text/plain (теги конечно из этого текста нужно убрать). 
 
И ты наверное забыл сказать что письма желательно слать в koi8-r, а значит в некоторых скриптах нужно через convert_cyr_string() перекодировать все строки в koi8-r. А то тут щас некоторые начнут слать письма по твоим советам и будут на тебя гнать что ничего не работает :))) 
 
 
  |   
 
А где скачать сам скрипт...? 
  |   
 
2 Maxim Matyukhin: 
А заголовок Content-Transfer-Encoding  не все клиенты корректно обрабатывают. 
\r\n по спецификации нужен, но лично моя практика показала, что строки, разделенные только символом \n обрабатываются корректно. 
Проблема кодировки писем - это отдельная тема. Здесь рассматривается только обработка заголовочной информации, хотя конечно делать это необходимо. Это можно сделать и перед самой отправкой письма. 
2Matrix.ME: 
Недели через две с моего сайта. Ссылку я тебе пришлю. Если нужно совсем срочно - отпиши. 
  |   
 
2ThE0ReTiC 
>А заголовок Content-Transfer-Encoding не все клиенты корректно обрабатывают. 
Какие например? Как тогда этот почтовый менеджер может отличать 8bit от base64 или quoted-printable? 
 
 
  |   
 
M$ Outlook некорректно обрабатывает эти заголовки. К сожалению. У меня все скрипты без указания этого аттрибута нормально обрабатываются. Причем я на трех осях проверял. Это нужно указывать при компоновке сложного письма, с аттачами и прочей мишурой. 
  |   
 
2ThE0ReTiC 
>M$ Outlook некорректно обрабатывает эти заголовки. 
А что значит "некотректно обрабатывает эти заголовки"? 
Все письма которые мне приходят, я смотрю Аутглюком. И во всех письмах есть заголовок 
Content-Transfer-Encoding: quoted-printable 
или 
Content-Transfer-Encoding: 8bit 
И все письма нормально просматриваются. 
 
Только что даже проверил как работает мой скрипт. Делал такой хедер 
$header="From: $from\r\n 
Mime-Version: 1.0\r\n 
Content-Type: text/plain; charset=\"koi8-r\"\r\n 
Content-Transfer-Encoding: 8bit"; 
 
В Outlook-е 5 все нормально читается. 
 
  |   
 
В OE да, а в Outlook 200 нет, я проверял :( 
  |   
 
Для того, чтобы получить уведомление о прочтении Вашего письма, включите следующую строку: 
$adds .= "Diposition-Notification-To:  mymail@myhost.mydomainn"; 
____________________ 
Следует писать/читать  ;)) 
$adds .= "Disposition-Notification-To:  mymail@myhost.mydomainn";
  |   
 
2 Bronislav 
Ну да. Описался. Виноват. Больше не буду. :))) 
  |   
 
| 
 :::::  Edik пишет 01.01.2002 @ 01:17 |   | 
 
 
А где взыть простейший скрипт для отправки письма? только чтобы о обяснением? 
  |   
 
| 
 :::::  Edik пишет 01.01.2002 @ 01:17 |   | 
 
 
А где взыть простейший скрипт для отправки письма? только чтобы о обяснением? 
  |   
 
| 
 :::::  Kostik пишет 24.01.2002 @ 17:07 |   | 
 
 
Вопрос... 
А как к этому письму файл присоединть? 
  |   
 
А у кого есть этот скрипт в полностью рабочем виде? 
Может пришлёте? :mol:    :)
 doctorx@land.ru
 |   
 
| 
 :::::  mirk пишет 26.04.2003 @ 22:20 |   | 
 
 
Если не сложно вышлите и мне тоже скрипт. 
Спасибо. 
  |   
 
| 
 :::::  Дима пишет 04.11.2004 @ 22:31 |   | 
 
 
Здравствуйте!!! 
Пришлите мне пожайлуста JavaScript для отправления почты на E-Mail!!! 
За ранее спасибо 
  |   
 
  |   |