PHP Отправка электронной почты


PHP позволяет отправлять электронные письма непосредственно из скрипта.


Функция PHP mail()

Функция PHP mail() используется для отправки электронных писем из скрипта.

Синтаксис

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

Параметр Описание
в Обязательный. Указывает получателя электронного письма.
subject Обязательно. Указывает тему электронного письма.Примечание:Этот параметр не может содержать символы новой строки.
message Обязательный. Определяет сообщение для отправки. Используйте LF (\n) для разделения строк. Каждая строка должна содержать не более 70 символов.
headers Необязательно. Указывает дополнительные заголовки, такие как From, Cc и Bcc. Дополнительные заголовки должны быть разделены с помощью CRLF (\r\n).
parameters Необязательный. Указывает дополнительные параметры для программы отправки почты.

Примечание:Для работы почтовых функций PHP требуется установленная и работающая почтовая система (например, sendmail, postfix, qmail и т. д.). Используемая программа определяется настройками конфигурации в файле php.ini. Пожалуйста, посетите нашСправочное руководство по PHP Mailчтобы узнать больше.


PHP Простая электронная почта

Самый простой способ отправить электронное письмо с помощью PHP — отправить письмо в виде простого текста.

В примере ниже мы сначала объявляем переменные ($to, $subject, $message, $from, $headers), а затем используем эти переменные в функции mail() для отправки электронного письма:

<?php
$to = "[email protected]";         // 邮件接收者
$subject = "参数邮件";                // 邮件标题
$message = "Hello! 这是邮件的内容。";  // 邮件正文
$from = "[email protected]";   // 邮件发送者
$headers = "From:" . $from;         // 头部信息设置
mail($to,$subject,$message,$headers);
echo "邮件已发送";
?>


PHP Форма почты

С помощью PHP вы можете создать форму обратной связи на своем сайте. Пример ниже отправляет текстовое сообщение на указанный адрес электронной почты:

<html>
<head>
<meta charset="utf-8">
<title>Example(example.com)</title>
</head>
<body>

<?php
if (isset($_REQUEST['email'])) { // 如果接收到邮箱参数则发送邮件
    // 发送邮件
    $email = $_REQUEST['email'] ;
    $subject = $_REQUEST['subject'] ;
    $message = $_REQUEST['message'] ;
    mail("[email protected]", $subject,
    $message, "From:" . $email);
    echo "邮件发送成功";
} else { // 如果没有邮箱参数则显示表单
    echo "<form method='post' action='mailform.php'>
    Email: <input name='email' type='text'><br>
    Subject: <input name='subject' type='text'><br>
    Message:<br>
    <textarea name='message' rows='15' cols='40'>
    </textarea><br>
    <input type='submit'>
    </form>";
}
?>

</body>
</html>

Пояснение к примеру:
  • Сначала проверьте, заполнено ли поле ввода электронной почты
  • Если оно не заполнено (например, при первом доступе к странице), выведите HTML-форму
  • Если оно заполнено (после заполнения формы), отправьте электронное письмо из формы
  • После заполнения формы и нажатия кнопки отправки страница перезагружается, и вы увидите, что поле ввода электронной почты сброшено, а также сообщение о том, что письмо успешно отправлено

Примечание:Эта простая отправка электронной почты небезопасна. В следующей главе этого руководства вы узнаете больше о проблемах безопасности в почтовых скриптах, и мы объясним, как проверять пользовательский ввод, чтобы сделать его более безопасным.


Справочное руководство по PHP Mail

Чтобы получить дополнительную информацию о функции PHP mail(), посетите нашесправочное руководство по PHP Mail。

Другие расширения