English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В этом руководстве вы узнаете, как использовать функцию mail() в PHP для отправки простых текстовых или HTML-писем из скрипта.
Отправка электронных писем является очень распространенной в веб-приложениях, например, при отправке приветственного письма пользователям, создание подписки для зарегистрированных пользователей, получение отзывов или комментариев через контактную форму на сайте и т.д.
Вы можете использовать встроенную функцию 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 'Не удалось отправить электронное письмо. Пожалуйста, попробуйте еще раз.'; } ?>
При отправке текстовых сообщений через 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 и получать комментарии и отзывы пользователей по электронной почте.