Автор статьи: Головин Андрей
Одной из самых полезных возможностей языка PHP является возможность отправки сообщений по электронной почте. Функция для этого выглядит так:
>bool mail(string to, string subject, string message, string additional_headers);
Функция возвращает значение TRUE, если сообщение отправлено успешно и FALSE. Для того, чтобы включить в заголовок письма дополнительную информацию, необходимо указать ее в параметре additional_headers. Типичный пример вызова
функции:
if ( mail("mine@convex.ru", "Hello!", "Hello, world!", "From: exper@ural.ru") ) {
echo "Message sent!";
} else {
echo "Message not sent!";
}
Чтобы включить какие-либо переменные в параметры, необходимо, просто указать их имена внутри строки. Например:
$name = "Петр";
$email = "petr@mail.ru";
mail($email, "Hello, $name!", "С Новым Годом!", "From: exper@ural.ru")
Теперь рассмотрим одно из самых распространенных и полезных применений этой функции. Отправка значений полей формы на е-мэйл. В переменных $HTTP_POST_VARS и $HTTP_GET_VARS содержаться все значения полей, введенные пользователем в форме. Эти массивы являются ассоциативными, т.е. доступ к переменным может осуществляться как посредством индексов, так и по имени. Имена соответствуют именам полей ввода в форме. Например, для формы:
<FORM ACTION="test.php3">
<INPUT NAME="first" TYPE="text"><BR>
<INPUT NAME="last" TYPE="text">
</FORM>
значения полей можно получить, обратившись к элементам массива: $HTTP_GET_VARS[«first»] и $HTTP_GET_VARS[«last»].
Теперь соберем все вместе:
$email = "your@mail";
$mess = "Результаты заполнения формы:\n";
while ( list( $key, $val ) = each( $HTTP_GET_VARS ) ) {
$mess .= "$key => $val\n";
}
mail($email,"form results",$mess,"");
Поместив этот скрипт в файл formmail.php3 и, указав его в качестве обработчика в любой форме, мы получим на свой email письмо, содержащее данные, которые ввел пользователь в удобной форме.