Функция отправки письма с сайта

В свое время долго мучился, чтобы сделать отправку письма так, чтобы оно корректно отображалось во ВСЕХ клиентах и в т.ч. через web-интерфейсы. Потом нашел где-то решение. Не помню где. Да не обидятся на меня те люди smileВ свое время долго мучился, чтобы сделать отправку письма так, чтобы оно корректно отображалось во ВСЕХ клиентах и в т.ч. через web-интерфейсы. Потом нашел где-то решение. Не помню где. Да не обидятся на меня те люди smile

Итак, вот готовое решение с необходимыми комментариями и образцом:

<?php
function send_mime_mail($name_from, // имя отправителя
                         $email_from, // email отправителя
                         $email_to, // email получателя
                         $data_charset, // кодировка переданных данных
                         $send_charset, // кодировка письма
                         $subject, // тема письма
                         $body // текст письма
                         ) {
   $to = $email_to;
   $subject = mime_header_encode($subject, $data_charset, $send_charset);
   $from =  mime_header_encode($name_from, $data_charset, $send_charset).' <' . $email_from . '>';
   if($data_charset != $send_charset) {
     $body = iconv($data_charset, $send_charset, $body);
   }
  
   $headers ="Content-type: text/html; charset=\\"".$send_charset."\\"\\n";
   $headers .="From: $from\\n";
   $headers.="Mime-Version: 1.0\\n";

   return mail($to, $subject, $body, $headers);
}

function mime_header_encode($str, $data_charset, $send_charset) {
   if($data_charset != $send_charset) {
     $str = iconv($data_charset, $send_charset, $str);
   }
   return '=?' . $send_charset . '?B?' . base64_encode($str) . '?=';
}
$name_from = 'ИМЯ_САЙТА';
$email_from = 'E-MAIL_САЙТА';
$email_to = 'E-MAIL_ПОЛУЧАТЕЛЯ';
$subject = 'ТЕМА_ПИСЬМА';
$body = 'Здравствуйте.<br />'
       .'Это письмо с сайта ИМЯ_САЙТА и послано для того, чтобы вправить Вам мозг '
       .'и настоятельно попросить сохранить регистрационные данные в надежном месте!<br />'
       .'Перейти на сайт можно так – <a href="">ссылка</a><br />'
       .'С Уважением, Администрация сайта';
//И сам вызов функции
send_mime_mail(''.$name_from.'',
                ''.$email_from.'', //Ваш емайл, или куда им отвечать на письмо
                ''.$email_to.'',  //куда письма рассылаем
                'windows-1251',  
                'windows-1251',
                ''.$subject.'',
                ''.$body.'');    
?>

Автор публикации

не в сети 9 лет

gosteff

Комментарии: 0Публикации: 1Регистрация: 17-06-2011

Понравилась статья? Поделись в соц. сетях:

Похожие новости

Добавить комментарий

Авторизация
*
*
Регистрация
*
*
*
Генерация пароля