beget banner 468x60beget banner 728x90beget banner 930x180jivo banner 468x60jivo banner 728x90jivo banner 930x180smsc banner 468x60smsc banner 728x90smsc banner 930x180

Руководство по отправке электронных писем в PHP

Отправка сообщений электронной почты очень распространенная функция у сайтов и веб-приложений. Например, вы можете отправить приветственное сообщение по электронной почте, когда пользователь создает учетную запись на вашем веб-сайте или получить отзывы или комментарии через контактную форму на веб-сайте.

Вы можете использовать встроенную в PHP-функцию mail() для динамического создания и отправки сообщений электронной почты одному или нескольким получателям из вашего PHP-приложения либо в текстовой форме, либо в формате HTML. Базовый синтаксис этой функции может быть задан следующим образом:

mail(to, subject, message, headers, parameters)

В следующей таблице приведены параметры этой функции.

Параметр Описание
Обязательно — следующие параметры обязательны
to Электронный адрес получателя.
subject Тема отправляемого электронного письма. Этот параметр, т.е. строка темы не может содержать символ новой строки (\n).
message Определяет сообщение для отправки. Каждую строку следует разделять символом перевода строки-LF (\n). Строки не должны превышать 70 символов.
Опционально — следующие параметры являются необязательными
headers Обычно это используется для добавления дополнительных заголовков, таких как «От», «Копия», «Скрытая копия». Дополнительные заголовки следует разделять символом возврата каретки и символа перевода строки — CRLF. (\r\n).
parameters Используется для передачи дополнительных параметров.

Отправка электронных писем с обычным текстом

Самый простой способ отправить электронное письмо с помощью PHP — отправить текстовое письмо. В приведенном ниже примере мы сначала объявляем переменные — адрес электронной почты получателя, строку темы и тело сообщения — затем мы передаем эти переменные функции mail() для отправки электронного письма.

<?php
$to = 'maryjane@email.com';
$subject = 'Marriage Proposal';
$message = 'Hi Jane, will you marry me?'; 
$from = 'peterparker@email.com';

// Отправляем письмо
if(mail($to, $subject, $message)){
    echo 'Your mail has been sent successfully.';
} else{
    echo 'Unable to send email. Please try again.';
}
?>

Отправка электронных писем в формате HTML

Когда вы отправляете текстовое сообщение с помощью PHP, все содержимое будет рассматриваться как простой текст. Мы собираемся улучшить этот вывод и превратить электронное письмо в электронное письмо в формате HTML.

Чтобы отправить электронное письмо в формате HTML, процесс будет таким же. Однако на этот раз нам нужно предоставить дополнительные заголовки, а также сообщение в формате HTML.

<?php
$to = 'maryjane@email.com';
$subject = 'Marriage Proposal';
$from = 'peterparker@email.com';

// Для отправки HTML-почты необходимо установить заголовок Content-type.
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

// Создаем заголовки писем
$headers .= 'From: '.$from."\r\n".
    'Reply-To: '.$from."\r\n" .
    'X-Mailer: PHP/' . phpversion();

// Составляем простое сообщение электронной почты в формате HTML
$message = '<html><body>';
$message .= '<h1 style="color:#f40;">Hi Jane!</h1>';
$message .= '<p style="color:#080;font-size:18px;">Will you marry me?</p>';
$message .= '</body></html>';

// Отправляем письмо
if(mail($to, $subject, $message, $headers)){
    echo 'Your mail has been sent successfully.';
} else{
    echo 'Unable to send email. Please try again.';
}
?>

PHP-функция mail() является частью ядра PHP, но вам необходимо настроить почтовый сервер на своем компьютере, чтобы она работала. Как правило на хостинге уже все работает по умолчанию, если нет — обращайтесь в службу поддержки.

В следующих двух главах (Обработка форм в PHP и Проверка форм в PHP) вы узнаете, как реализовать на своем веб-сайте интерактивную контактную форму, чтобы получать комментарии и отзывы пользователей по электронной почте с помощью этой PHP-функции.

kwork banner 480x320kwork banner 728x90kwork banner 120x600smsc banner 480x320smsc banner 728x90smsc banner 120x600jivo banner 480x320jivo banner 728x90jivo banner 120x600

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 4 / 5. Количество оценок: 4

Оценок пока нет. Поставьте оценку первым.

Похожие посты

Руководство по загрузке файлов на сервер в PHP

В этом руководстве мы узнаем, как загружать файлы на удаленный сервер с помощью простой HTML-формы и PHP. Вы можете загружать файлы любого типа, например изображения, видео, ZIP-файлы, документы Microsoft Office, PDF-файлы, а также исполняемые файлы и множество других типов файлов. Шаг 1. Создание HTML-формы для загрузки файла В следующем примере будет создана простая HTML-форма, которую…
Подробнее

Руководство по GET и POST запросам в PHP

Веб-браузер связывается с сервером, как правило, с помощью одного из двух HTTP-методов (протокола передачи гипертекста) — GET и POST. Оба метода передают информацию по-разному и имеют разные преимущества и недостатки, как описано ниже. PHP-метод GET В методе GET данные отправляются в виде параметров URL, которые обычно представляют собой строки пар имени и значения, разделенные амперсандами…
Подробнее

Список сообщений об ошибках в PHP

Обычно, когда движок PHP сталкивается с проблемой, препятствующей правильной работе скрипта, он генерирует сообщение об ошибке. Существует шестнадцать различных уровней ошибок, и каждый уровень представлен целым числом и связанной с ним константой. Вот список уровней ошибок: Название Значение Описание E_ERROR 1 Неустранимая ошибка времени выполнения от которой невозможно избавиться. Выполнение скрипта немедленно прекращается E_WARNING 2…
Подробнее