English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP Основной Учебник

PHP Уровеньный Учебник

PHP & MySQL

PHP Референс Мануал

Отправка почты PHP

В этом руководстве вы узнаете, как использовать функцию mail() в PHP для отправки простых текстовых или HTML-писем из скрипта.

Функция PHP mail()

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

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

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

В таблице ниже приведен обзор параметров этой функции.

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

Отправка текстового письма

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

<?php
$to = '[email protected]';
$subject = '求婚';
'message' = '嗨,简,你愿意嫁给我吗?'; 
$from = '[email protected]';
 
// Отправка письма
if(mail($to, $subject, $message)){
    echo 'Ваше письмо успешно отправлено.';
} else {
    echo 'Не удалось отправить электронное письмо. Пожалуйста, попробуйте еще раз.';
}
?>

Отправка HTML-писем

При отправке текстовых сообщений через PHP все содержимое будет рассмотрено как простый текст. Мы улучшим этот вывод и преобразуем письмо в HTML-формат.

Процесс отправки HTML-писем будет таким же. Но в этот раз нам нужно предоставить другие заголовки и сообщение в формате HTML.

<?php
$to = '[email protected]';
$subject = '求婚';
$from = '[email protected]';
 
// Для отправки 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>';
$message .= '<h1 style="color:#f40;">Hi Jane!</h1>';
$message .= '<p style="color:#080;font-size:18px;">Will you marry me?</p>';
$message .= '</html>';
 
// Отправка электронного письма
if(mail($to, $subject, $message, $headers)){
    echo 'Ваше письмо успешно отправлено.';
} else {
    echo 'Не удалось отправить электронное письмо. Пожалуйста, попробуйте еще раз.';
}
?>

Внимание:Функция PHP mail() является частью ядра PHP, но вам нужно настроить почтовый сервер на вашем компьютере, чтобы она действительно работала.

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