Содержание статьи
1. Отправка письма mail PHP Тип text/plain
2. Отправка письма mail PHP Тип text/html
3. Как использовать CSS в письме? (для mail PHP)
1. Отправка письма mail php Тип text/plain
Содержит только текст (малый вес сообщения)
<?php
$name = "Пётр Петрович"; // необязательная переменная в качестве примера вставки в сообщение
$subject = "Тема сообщения"; //тема сообщения
$message = "Здравствуйте,".$name."!\n
Просто спросить как дела!\n
С уважением, Иван Иванович";//содержание сообщения
mail($email, $subject, $message, "From: yournick@yourmail.ru\nReply-To: secondnick@yourmail.ru\nContent-type:text/plain; Charset=utf-8\r\n"); //отправляем сообщение
?>
2. Отправка письма mail php Тип text/html
Могут содержать графические html-элементы, сслыки и тп.
Больше объём передаваемой информации
<?php
// отправка нескольким адресатам
$to = 'friend1@yourmail.ru' . ', '; // кому отправляем
$to .= 'friend2@yourmail.ru' . ', '; // Внимание! Так пишем второй и тд адреса
// не забываем запятую. Даже в последнем контакте лишней не будет
// Для начинающих! $to .= точка в этом случае для Дописывания в переменную
// содержание письма
$subject = "Тема сообщения";
$message = '
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Тема страницы</title>
</head>
<body>
<p>А здесь ваше сообщение</p>
</body>
</html>';
// устанавливаем тип сообщения Content-type, если хотим
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= "Content-type: text/html; charset=utf-8 \r\n";
// дополнительные данные
$headers .= "From: yournick <yournick@yourmail.ru>\r\n"; // от кого
$headers .= 'Cc: secondnick@example.com' . "\r\n"; // копия сообщения на этот адрес
$headers .= "Bcc: yournick-archive@yourmail.ru\r\n"; // скрытая копия сообщения на этот
mail($to, $subject, $message, $headers);
?>
3. Как использовать в письме CSS?
Тут я хочу сразу немного огорчить Вас - CSS в привычном для Вас виде не стоит использовать. Mail, Yandex, Google, Outlook - выкидывают стили из писем. Однако, есть выход.
Выполним несколько условий:
1) Надеюсь не нужно пояснять, что используем Content-type: text/html
2) Вспоминаем, что такое table вёрстска. Теперь все стили вписываем только в неё. Можно также вспомнить center, font.
<table width="50%" align="center" style="background-color:lightskyblue; -webkit-border-radius:15px; -moz-border-radius:15px; border-radius:15px; box-shadow: 0 0 5px black; box-shadow: 0 0 10px rgba(0,0,0,0.5); -moz-box-shadow: 0 0 10px rgba(0,0,0,0.5); -webkit-box-shadow: 0 0 10px rgba(0,0,0,0.5); padding:20px; font-size:1em">
<tr><td>От кого: Иванов Иван Иванович</td></tr>
<tr><td>Адрес: example@example.ru</td></tr>
<tr><td>Сообщение: Смотрим и радуемся</td></tr></table>
С div то же самое
<div style="text-align: center; color: blue;">Нужный Вам текст<div>
3) В примере выше с отправкой письма приводилась данная строка. Так вот её не забываем
$headers = 'MIME-Version: 1.0' . "\r\n";
4) Используем HTML 3.2. Вставляем в начало html письма.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
5) В качестве background - можно цвет. Хотите фон-изображение - тогда делайте весь текст и фон изображением. Как вариант: можно указать background-image для body.
6) У единственной в ячейке картинки в Gmail появляется 3px отступ снизу, чтобы избежать этого указываем ей
style="display:block";