Отправляем почту из php
Вот тоже сюда положу, чтоб не искать потом.
Будет использоваться библиотека Pear, у кого не установлена, тому сюда:
Сообщение должно проходить от авторизованного пользователя.
Будет использоваться библиотека Pear, у кого не установлена, тому сюда:
Цель:
Отправить письмо пользователю с русским заголовком и русским html текстом.Сообщение должно проходить от авторизованного пользователя.
Реализация:
// Подключаем библиотекуinclude('Mail.php'); include('Mail/mime.php');
// Задаем начальные значения$html = '<html><body>Пишем по-русски!</body></html>'; $crlf = "\r\n"; // Отправитель и заголовок письма$hdrs = array( 'From' => 'ivanov.i@domain.ru', 'Subject' => 'Автоматическое сообщение' ); // Правильные параметры, что бы писать по-русски$params = array( 'text_encoding' => '8bit', "head_charset" => "windows-1251", "text_charset" => "windows-1251", "html_charset" => "windows-1251", ); // Проводим инициализацию$mime = new Mail_mime($crlf); $mime->setHTMLBody($html);
$body = $mime->get($params); $hdrs = $mime->headers($hdrs); $mail =& Mail::factory('mail');
// А теперь хитрость// Сообщение будем отправлять по smtp с авторизацией// Иначе получатель в отправителях увидит не "Иванов И.И.", а ivanov.i.domain.ru// Да что там получатель, анти-спам фильтр может обидится
$host = "mail.domain.ru"; $port = 25; $username = "domain\ivanov"; $password = "password";
$smtp = Mail::factory("smtp", array( "host" => $host, "port" => $port, "auth" => true, "username" => $username, "password" => $password));
// Адрес получателя$to_email = "petrov.p@domain.ru";
// Отправляем письмо$mail = $smtp->send($to_email, $hdrs, $body);

0 Comments:
Отправить комментарий
<< Home