Содержание статьи
1. Отправка письма mail PHP Тип text/plain
2. Отправка письма mail PHP Тип text/html
3. Как использовать CSS в письме? (для mail PHP)
1. Отправка письма mail php Тип text/plain
Содержит только текст (малый вес сообщения)
1 2 3 4 5 6 7 8 9 |
<?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-элементы, сслыки и тп.
Больше объём передаваемой информации
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
<?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.
1 2 3 4 |
<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 то же самое
1 |
<div style="text-align: center; color: blue;">Нужный Вам текст<div> |
3) В примере выше с отправкой письма приводилась данная строка.
1 |
$headers = 'MIME-Version: 1.0' . "\r\n"; |
4) Используем HTML 3.2. Вставляем в начало html письма.
1 |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> |
5) В качестве background — можно цвет. Хотите фон-изображение — тогда делайте весь текст и фон изображением. Как вариант: можно указать background-image для body.
6) У единственной в ячейке картинки в Gmail появляется 3px отступ снизу, чтобы избежать этого указываем ей
1 |
style="display:block"; |