Теперь у нас достаточно знаний для отправки электронной почты с помощью РНР, поэтому мы можем написать некоторый код.
Отправка электронной почты спомощью команды mail()
Единственная функция, которую надо знать, чтобы отправить электронную почту в РНР, это mail():
boolean mail(mail_to, mail_subject, mail_body [, extra_headers])
Функция принимает три существенных аргумента и один необяза
тельный:
• mail_to
Адрес электронной почты предполагаемого получателя. Несколько почтовых адресов разделяются запятыми. Этот аргумент устанавливает в сообщении поле заголовка То.
• mail_subject
Заголовок сообщения электронной почты. Поле заголовка Subj ect получает значение этого аргумента.
• mail_body
Тело сообщения электронной почты.
• extra_headers
Дополнительные поля заголовка, которые нужно задать в сообщении. Поля заголовка То, Subject и Body задаются первыми тремя аргументами. Остальные нужно указать в данном аргументе extra_headers, отделяя каждое поле парой символов CR/LF.
Как уже отмечалось, поле Subject не является обязательным. Как тема сообщения, так и его тело могут быть пустыми строками, т. е. можно беспрепятственно послать пустое сообщение без темы и тела.
Применение mail()
Функция mail () зависит либо от локальной почтовой системы сервера, на котором работает машина РНР, либо от удаленной почтовой системы, указанной в файле настроек php. ini. Если у вас нет запущенного МТА, такого как Sendmail в UNIX или Exchange Server в Windows, либо удаленного сервера SMTP, предоставляющего доступ вашей локальной машине, эта функция не будет работать. Если функция успешно передает сообщение электронной почты МТА, она возвращает true независимо от того, было ли сообщение действительно отправлено. Предполагается, что функция mail() возвратит false в случае неудачи, но ожидание ответа может оказаться очень долгим и приостановить выполнение сценария, а броузер покажется зависшим.
Локальный почтовый сервер задается в файле настройки php. ini. В нем должен иметься раздел примерно такого вида:
[mail function]
SMTP = localhost ;for Win32 only
sendmail_frorr = mailto:me@localhost.com">me@localhost.com ; for Win32 only
;sendmail_patf = ; for unix only, may supply arguments as well (Defaults to local sendmail program - default is sendmail -t)
По умолчанию принимает значение локального пути к Send-
mail, но если окажется, что функция mail() не работает, попробуйте изменить этот параметр вручную. На большинстве платформ UNIX sendrnail_path устанавливается в "/usr/lib/sendmail -t" (кавычки тоже должны быть введены), в предположении, что демон Sendmail установлен в каталоге ,/usr/lib.