Оглавление

Функция mail

Функция mail отправляет сообщения с помощью системного почтового сервиса. На системах Linux/Unix для отправки почты используется утилита sendmail. На серверах под управлением Windows для этого используется протокол SMTP. Для корректной работы нужно задать имя почтового сервера в файле php.ini. В уроке 23, "Настройка РНР", вопрос настройки рассматривается более подробно.


Для функции mail нужно задать три аргумента: почтовый адрес получателя, тему и текст сообщения. Четвертый необязательный аргумент задает дополнительные заголовки письма. Это позволяет указать специальные параметры From: или Сс:.

 
Сценарий send_comments.php в листинге Листинг 11.2 принимает данные из формы комментариев и отправляет их владельцу Web-сайта на почтовый ящик.

 

Сценарий проходит по всем значениям массива $_POST и создает строку $body для текста письма. Отметим, что символы \п используются для разделения строчек, потому что письмо передается обычным текстом, без HTML-форматирования.

 
Листинг 11 .2. send_comments.php

<?php
$body = "Этот комментарий отправлен с помощью Web-сайта\n\n";
foreach($_POST as $field => $value) {
$body .= sprintf("%s = %s\n", $field, $value);
}
mail("owner@website.com", "Комментарий отправлен с помощью 
                Web-сайта", $body, 'From: "Web-комментарий" 
		                          <comments@website.com>'); 
?>
<h1>Спасибо</h1> 
Ваш комментарий отправлен!

 

Письмо, которое получит владелец сайта, будет выглядеть примерно так:

Этот  комментарий отправлен с помощью Web-сайта
name = Крис  Ныоман
email = chris@lightwood.net
gender = m
referrer = search
may_contact = Y
comments = Это просто мой любимый сайт

 

Это письмо отформатировано довольно небрежно, потому что генерируется автоматически. Конечно, при желании его можно оформить намного лучше. Например, можно заменить кодовые значения gender и referrer на полное описание.

Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.
Отправитель Нити