Отправка почты
Производится при помощи функции
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.