Функция отправки письма с сайта
Функция отправки письма с сайта
В свое время долго мучился, чтобы сделать отправку письма так, чтобы оно корректно отображалось во ВСЕХ клиентах и в т.ч. через 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.'');    
?>


Рубрика: Информация » Программирование   |   Автор: gosteff   |   Просмотры: 3582
Комментариев: 75
Публикаций: 8
ICQ: 746522
- 61 +
  Автор: jamals   |   Группа: Пользователи   |   Дата: 23 августа 2011  
Копипаст http://webew.ru/articles/297.webew

Ой отсюда) https://hacker-pro.net/showpost.php?p=304180&postcount=7
Комментариев: 30
Публикаций: 1
ICQ: 9929292
- 93 +
  Автор: gosteff   |   Группа: Пользователи   |   Дата: 23 августа 2011  
jamals, не, точно не отсюда. Я же написал, что где-то нашел. Просто возник на форуме вопрос - решил выложить решение.
Комментариев: 0
Публикаций: 0
ICQ: --
- 0 +
  Автор: Hamit   |   Группа: Гости   |   Дата: 23 августа 2011  
Надеюсь это поможет начинающим админам без перспективных проектов.
$body = 'Здравствуйте.<br />'
.'Это письмо с сайта ИМЯ_САЙТА и послано для того, чтобы вправить Вам мозг '

wink
Комментариев: 5
Публикаций: 0
ICQ: --
- 48 +
  Автор: dck   |   Группа: Пользователи   |   Дата: 23 августа 2011  
http://phpmailer.worxware.com/
http://swiftmailer.org/

И не стардайте фигней
Комментариев: 30
Публикаций: 1
ICQ: 9929292
- 93 +
  Автор: gosteff   |   Группа: Пользователи   |   Дата: 23 августа 2011  
jamals, первый вариант был верный )))
Функция отсюда - http://webew.ru/articles/297.webew
Комментариев: 95
Публикаций: 2
ICQ: 656527
- 355 +
  Автор: NGS   |   Группа: NGS Engine   |   Дата: 23 августа 2011  
зачем изобретать велосопед????
есть отличный phpmailer
Комментариев: 63
Публикаций: 10
ICQ: --
- 3 +
  Автор: Hitman   |   Группа: Пользователи   |   Дата: 27 апреля 2012  
Куда это вводить?
Комментариев: 167
Публикаций: 16
ICQ: 553069709
- 239 +
  Автор: ZKolyaNZ   |   Группа: Пользователи   |   Дата: 19 мая 2013  
Hitman,
грузишь инклюдом саму функцию и потом в коде адаптируешь
Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.