Отправка почты из PHP возможна и она легка в реализации - это одна сторона медали. Вторая сторона, что по-моему это одна из самых спамерских функций во всех языках программирования. Но мы будем изучать ее с "хорошей" стороны :)
Поделиться:
Итак отправка нашего электронного письма происходит с помощью встроенной функции mail() доступной начиная с php 4-ой версии, синтаксис её такой:
bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )
На вход функции mail подается от 3 до 5 параметров:
- $to: Email-адрес кому мы отсылаем сообщение
- $subject: Тема письма
- $message: Текст письма
- $additional_headers: Заголовки письма
- $additional_parameters: Дополнительные параметры
C первыми тремя параметрами думаю всё понятно, рассмотрим 2 необязательных параметра.
Заголовки письма добавляются по спецификации RFC2822, чтобы что-то понять, надо штудировать сотни страниц английского текста, рассмотрим основные, которые могу пригодиться
From: noreply@phpprogs.ru - указывает с какого Email приходит сообщение
Reply-To: admin@phpprogs.ru - указывает на какой Email должно отсылаться письмо при ответе
Content-type: text/plain; charset=Windows-1251 - указывает тип сообщения и кодировку, если хотите чтобы в письме был HTML, то вместо text/plain укажите text/html
X-Priority: 1 (Higuest) - приоритет сообщения
X-Mailer: CMS-Kolibry - почтовая программа, отправившая сообщение
Со последним параметром не всё так однозначно, применение нашел только когда пользовался услугами хостинга руцентра, там при использовании это функции в поле "ОТ" стоял адрес руцента, помог именно этот параметр, если указать "-fnoreply@php.ru", то будет корректно отображать поле "ОТ".
Рассмотрим пример отправки:
Пример работы функции mail()
<?php
$to = "admin@php.ru";
$subject = "Тема письма";
$message = "Текст сообщения";
$headers = "From: noreply@phpprogs.ru\r\n".
"Content-type: text/plain; charset=Windows-1251\r\n";
$ok = mail ($to, $subject, $message, $headers);
if ($ok === false)
{
echo "Письмо отправлено";
}
else
{
echo "Ошибка при отправке письма";
}
?>
Поделиться:
0 коммент.:
Отправить комментарий
ваш комментарий...