Аргерих Л. О языке РНР. Часть 2. Страница 107


Теперь у нас достаточно знаний для отправки электронной почты с помощью РНР, поэтому мы можем написать некоторый код.

Отправка электронной почты спомощью команды 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.




Самый лучший подарок мужчине на день рождения, который вы можете сделать - это купить ему галстук или дорогую ручку. И все это вы можете купить прямо не выходя из дома через сайт raskupi.ru.