ФорумФорум  КалендарьКалендарь  ЧаВоЧаВо  ПоискПоиск  ПользователиПользователи  ГруппыГруппы  РегистрацияРегистрация  Вход  
Поиск
 
 

Результаты :
 
Rechercher Расширенный поиск
Последние темы
» Подтверждение о прочтении
автор worker8281 Сб Дек 27, 2014 1:05 pm

» Проблема с сессией
автор Murphy Ср Дек 03, 2014 5:20 pm

» Нужнга настройка SugarCRM
автор iliandr777 Пн Ноя 10, 2014 2:28 pm

» Отображение записей (адресатов) в списках адресатов
автор FatherMother Пн Авг 25, 2014 12:21 pm

» Нужен совет. Модуль с множеством одинаковых субпанелей.
автор Павел Пн Июл 28, 2014 12:55 pm

» Нужна помощь с опенкартом
автор manux86 Вс Фев 02, 2014 10:45 am

» вопрос работы насчет СУГАР на сервере
автор Meiir2 Пт Янв 31, 2014 8:46 am

» Интеграция с Google календарем от компании "Куб Три"
автор Dmitry.bereza Ср Авг 14, 2013 10:29 am

» настройка воронки продаж
автор EkaterinaGolovina Чт Июн 13, 2013 12:14 pm

Июль 2018
ПнВтСрЧтПтСбВс
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
КалендарьКалендарь
Баннеры
Яндекс цитирования статистика
Поддержка проекта
41001634550309

Поделиться | 
 

 Отправка писем на php. Сборник рецeптов

Перейти вниз 
АвторСообщение
Admin
Admin


Сообщения : 74
Очки : 71
Дата регистрации : 2010-08-23

СообщениеТема: Отправка писем на php. Сборник рецeптов   Пт Сен 10, 2010 3:10 am

Отправка писем в php осуществляется с помощью функции mail()

mail(to, subject, message, mailheaders);


to - емайл получателя
subject - заголовок письма
message - текст письма, сообщение
mailheaders - почтовые заголовки

Отправка обычного текстового письма

Это самый простой способ отправки писем. Вы просто указываете емайл получателя, отправителя и формат text/plain в заголовке. Далее идет пример
Код:

<?php

$to = "rockbattle@mail.ru";
// емайл получателя

$subject = "Проверка отправки писем";
// тема письма

$message = "Здравствуйте
Если вы читаете это письмо значит все ок
Почтовый робот";
// текст сообщения

$mailheaders = "Content-type:text/plain;charset=windows-1251rn";
// почтовый заголовок, указывает формат письма - текстовый и кодировку

$mailheaders .= "From: SiteRobot <noreply@siterobot.ru>rn";
// почтовый заголовок, указывает емайл отправителя


$mailheaders .= "Reply-To: noreply@siterobot.rurn";
// почтовый заголовок, указывает емайл для ответа
// лучше если емайл для ответа совпадает с емайлом отправителя, иначе некоторые почтовые сервисы могут классифицировать письмо как спам


mail($to, $subject, $message, $mailheaders);
// отправляем письмо

?>

Отправка html-письма, в которое можно вставлять таблицы, рисунки, различные шрифты, стили оформления

Отправка писем в html формате почти ничем не отличается от отправки писем в текстовом формате. В заголовке вы указываете формат письма text/html а в самом письме вместо обычного текста помещаете html-код.

Рассмотрим на примере
Код:

<?php

$to = "rockbattle@mail.ru";
// емайл получателя

$subject = "Проверка отправки писем";
// тема письма

$message = "Здравствуйте<br><br>Если вы это читаете значит все ок <br><br>Почтовый робот ";
// текст сообщения, здесь вы можете вставлять таблицы, рисунки, заголовки, оформление цветом и т.п.

$mailheaders = "Content-type:text/html;charset=windows-1251rn";
// формат письма html

$mailheaders .= "From: SiteRobot <noreply@siterobot.ru>rn";
$mailheaders .= "Reply-To: noreply@siterobot.rurn";
// емайл отправителя и емайл для ответа

mail($to, $subject, $message, $mailheaders);
// отправляем письмо

?>

Отправка письма с вложением

Чтобы прикрепить файл к письму потребуется немного более длинный код, но это тоже довольно просто. В приведенном далее коде пропишите имя вашего файла который вы хотите отправить а также его расположение
Код:

<?php

$to = "rockbattle@mail.ru";
// емайл получателя

$subject = "Письмо с вложением";
// тема письма

$message = "Здравствуйте
Если с этим письмом вы получили прикрепленный файл значит все ок
Почтовый робот ";
// текст сообщения

$filename = "file.doc";
// название файла

$filepath = "files/file.doc";
// месторасположение файла

// письмо с вложением состоит из нескольких частей, которые разделяются разделителем

$boundary = "--".md5(uniqid(time()));
// генерируем разделитель
$mailheaders = "MIME-Version: 1.0n";
$mailheaders .="Content-Type: multipart/mixed; boundary="$boundary"n";
// разделитель указывается в заголовке в параметре boundary

$mailheaders .= "From: SiteRobot <noreply@siterobot.ru>rn";
$mailheaders .= "Reply-To: noreply@siterobot.rurn";


$multipart = "--$boundaryn";
$multipart .= "Content-Type: text/plain; charset=windows-1251nn";
$multipart .= "$messagenn";

// первая часть само сообщение

$fp = fopen($filepath,"r");
 if (!$fp)
 {
 print "Файл не может быть прочитан";
 exit();
 }

$file = fread($fp, filesize($filepath));
fclose($fp);

// чтение файла

$message_part = "--$boundaryn";
$message_part .= "Content-Type: application/octet-stream; name = "".$filename.""n";
$message_part .= "Content-Transfer-Encoding: base64n";
$message_part .= "Content-Disposition: attachment; filename = "".$filename.""nn";
$message_part .= chunk_split(base64_encode($file))."n";

// второй частью прикрепляем файл, можно прикрепить два и более файла
$multipart .= $message_part;

mail($to,$subject,$multipart,$mailheaders);
// отправляем письмо

?>

Отправка писем сразу нескольким адресатам

Чтобы отправить письмо сразу нескольким адресатам, лучше всего использовать заголовок Bcc: который отправляет копию письма на указанный емайл

Например
Код:

<?php

$to = "rockbattle@mail.ru";
// емайл получателя

$subject = "Проверка отправки писем";
// тема письма

$message = "Здравствуйте
Если вы читаете это письмо значит все ок
Почтовый робот";
// текст сообщения

$mailheaders = "Content-type:text/plain;charset=windows-1251rn";
$mailheaders .= "From: SiteRobot <noreply@siterobot.ru>rn";
$mailheaders .= "Reply-To: noreply@siterobot.rurn";
// почтовые заголовки

$mailheaders .= "Bcc: email1@mail.rurn";
$mailheaders .= "Bcc: email2@mail.rurn";
$mailheaders .= "Bcc: email3@mail.rurn";
// заголовков Bcc может быть неограниченное количество

 

mail($to, $subject, $message, $mailheaders);
// отправляем письмо

?>
Вернуться к началу Перейти вниз
Посмотреть профиль http://easy-sugarcrm.forum2x2.ru
 
Отправка писем на php. Сборник рецeптов
Вернуться к началу 
Страница 1 из 1

Права доступа к этому форуму:Вы не можете отвечать на сообщения
 :: PHP - статьи, советы-
Перейти: