Отправка почты

Производится при помощи функции

bool mail (string to, string subject, string message [, string additional_headers [, string additional_parameters]])

Если несколько получателей, адреса разделяются запятыми. Заголовки (как и строки текста в теле письма) разделяются между собой «\r\n». Дополнительный параметры (последний аргумент) вставляются в конце определения заголовков и обычно используются для доп.заголовков.

 

Пример:

/* получатели */$to= "Mary <mary@example.com>" . ", " ; //обратите внимание на запятую$to .= "Kelly <kelly@example.com>"; /* тема/subject */$subject = "Birthday Reminders for August"; /* сообщение HTML, поэтому, как и в браузере, \r\n роли не играют */$message = '<html><head><title>Birthday Reminders for August</title></head><body><p>Here are the birthdays upcoming in August!</p></body></html>'; /* Для отправки HTML-почты вы можете установить шапку Content-type. */$headers= "MIME-Version: 1.0\r\n";$headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; /* дополнительные шапки */$headers .= "From: Birthday Reminder <birthday@example.com>\r\n";$headers .= "Cc: birthdayarchive@example.com\r\n";$headers .= "Bcc: birthdaycheck@example.com\r\n"; /* отправка */mail($to, $subject, $message, $headers);

Сам по себе PHP не отправляет почту. Для этого используется специальная программа sendmail, которая, в свою очередь, использует SMTP сервер (возможно удаленный). Sendmail, как правило, не входит в стандартный дистрибутив веб-сервера. На хостингах обычно стоит, в домашней системе – необходима установка (кстати, а в денвере он есть).

Уточнение для общего образования: SMTP – протокол передачи электронной почты (используется для передачи почты между серверами). Соответственно, SMTP сервер – это программа – сервер, через которую отправляется электронная почта. POP3 – простейший протокол приема электронной почты (используется для приема почты программой-клиентом с почтового сервера).

Полезные директивы php.ini:

SMTP string

Только под Windows: хост или IP-адрес SMTP-сервера, который PHP должен использовать для отправки почты функцией mail().

SMTP int

Только под Windows: Номер порта для соединения с сервером, специфицированным установкой SMTP, при отправке почты функцией mail(); по умолчанию 25. Доступен, только начиная с PHP 4.3.0.

sendmail_from string

Исходящий (From) почтовый адрес, который должен использоваться в почте, отправляемой из PHP под Windows.

sendmail_path string

Путь к программе sendmail;

Последняя из перечисленных директив является обязательной. Остальные – нет. Все настройки, необходимые для отправки почты, указываются в конфиге sendmail.