Отправка html писем
Объясните, пожалуйста, почему html письмо не приходит в должном формате.
mail( '[email protected]', 'Письмо из скрипта', 'Привет Василий, как дела?
Я умею отправлять письма с помощью php! И скоро научусь отправлять письма с помощью php с вложениями! Это будет круто!', "From: [email protected]\r\n Content-type: text/html; charset=utf-8\r\n X-Mailer: PHP mail script" )
На почту сообщение приходит в след. виде:
Content-type: text/html; charset=utf-8 X-Mailer: PHP mail script Вася, привет Привет Василий, как дела?
Я умею отправлять письма с помощью php! И скоро научусь отправлять письма с помощью php с вложениями! Это будет круто!
PHP отправка письма

С появлением форм обратной связи, гостевых книг, отзывов, форумов и т.д. Появилась потребность отслеживать, когда пользователь ввел, что-то в форму и оставил Вам сообщении. Согласитесь, что не удобно проверять вручную сообщения не зная заранее есть ли оно или нет. Для выхода из этой ситуации нам помогут почтовые сервисы такие как mail.ru, yandex.ru и другие. Возникает вопрос, как связать свой сайт, а точнее форму обратной связи с почтой, чтобы сообщение уходило на почту и Вы могли оперативно реагировать на сообщения с сайта.
Для решения данной задачи нам поможет маленький, но очень шустрый скрипт, который будет отправлять нам сообщения на почту о том, что нам оставили сообщение. В основе скрипта лежит PHP функция
bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] );
Мы не будем здесь рассматривать отправку письма с вложением, нас интересует только отчет о поступившем сообщении с сайта. Для того чтобы отправить письмо нам нужно три параметра, а именно: отправитель, получатель и сам текст письма. Тело письма мы будем отправлять в HTML разметки. Чтобы почтовый сервер понимал, что мы хотим в теле письма отправить HTML нужно указать Content-type в заголовках почтового сервера.
Пишем скрипт php отправки письма.
'); //Адрес почты от кого отправляем define('KAS_MAIL_AUTOR','Робот доставки '); /**Отпровляем сообщение на почту * @param string $to - Кому * @param string $from - От кого * @param string $title - Заголовок письма * @param string $message - Тело письма */ function sendMail($to, $from, $title, $message) < //Формируем заголовок письма $subject = $title; $subject = '=?utf-8?b?'. base64_encode($subject) .'?='; /*Формируем заголовки для почтового сервера, Говорим серверу что используем HTML*/ $headers = "Content-type: text/html; charset=\"utf-8\"\r\n"; $headers .= "From: ". $from ."\r\n"; $headers .= "MIME-Version: 1.0\r\n"; $headers .= "Date: ". date('D, d M Y h:i:s O') ."\r\n"; //Отправляем данные на ящик if(!mail($to, $subject, $message, $headers)) return 'Ошибка отправки письма!'; else return true; >//Формируем заголовок письма $title = 'Ура нам письмо пришло!'; //Формируем HTML верстку письма для отправки $msg = 'Ура нам письмо пришло!
Это письмо создано автоматически, отвечать на него не нужно!
'; //Вызываем функцию отправки письма if(sendMail(KAS_MAIL_TO, KAS_MAIL_AUTOR, $title, $msg)) echo 'Письмо отправленно. ' ?>
Вот такой простой скрипт php отправки письма. Вам нужно вызывать данную функцию в обработчике вашей формы в случае если форма прошла валидацию.
Отправка HTML по электронной почте через PHP
Как отправить письмо в формате HTML с картинками с помощью PHP?
Я хочу иметь страницу с некоторыми настройками и HTML-выводом, которая отправляется по электронной почте на определенный адрес. Что я должен сделать?
Основная проблема заключается в прикреплении файлов. Как я могу это сделать?
Ответ 1
Это довольно просто : оставьте изображения на сервере и отправьте PHP + CSS .
$to = ‘bob@example.com’;
$subject = ‘Website Change Reqest’;
$headers = «From: » . strip_tags($_POST[‘req-email’]) . «\r\n»;
$headers .= «Reply-To: «. strip_tags($_POST[‘req-email’]) . «\r\n»;
$headers .= «CC: susan@example.com\r\n»;
$headers .= «MIME-Version: 1.0\r\n»;
$headers .= «Content-Type: text/html; charset=UTF-8\r\n»;
$message = ‘
Некоторый текст для отправки.
‘;
mail($to, $subject, $message, $headers);
Именно эта строка сообщает почтовой программе и получателю, что электронное письмо содержит (надеюсь) правильно сформированный HTML-код, который ему необходимо будет интерпретировать:
$headers .= «Content-Type: text/html; charset=UTF-8\r\n»;
Ответ 2

Вам нужно закодировать свой html, используя абсолютный путь для изображений. Абсолютный путь означает, что вы должны загрузить изображения на сервер, а в атрибуте src изображений вы должны указать прямой путь, подобный этому : .
Ниже приведен код PHP:
$to = ‘aidan@example.com’ . ‘, ‘; // запятая обязательна
$to .= ‘wez@example.com’;
// субъект
$subject = ‘С днем рождения тебя!’;
// сообщение
$message = ‘
Here are the birthdays upcoming in August!
‘;
// отправка HTML
$headers = ‘MIME-Version: 1.0’ . «\r\n»;
$headers .= ‘Content-type: text/html; charset=UTF-8’ . «\r\n»;
// дополнительные заголовки
$headers .= ‘To: Mary , Kelly ‘ . «\r\n»;
$headers .= ‘From: Birthday Reminder ‘ . «\r\n»;
// вызов почтовой программы
mail($to, $subject, $message, $headers);
?>
Ответ 3
У меня есть этот код, и он отлично подойдет для вашего случая:
public function forgotpassword($pass,$name,$to)
$body =»