windows

windows

PHP mail под Windows. Отправка почты из PHP скриптов

В этой статье я хочу рассказать об отправке почты из php скриптов под Windows. . И вот тут у многих начинающих разработчиков возникает проблема . Скрипт, прекрасно работающий на сервере хостера, выдает ошибки на локальном компьютере. Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your " " and "smtp_port" setting in php.ini or use ini_set() in E:\www\simplemail\mailer.php on line ...... Дело в том, что функция mail сама по себе почту не отправляет , она просто вызывает программу sendmail , которая в дистрибутив web сервера и php интерпретатора не входит (и не должна). Sendmail, в свою очередь, для отправки почты использует сервер . Таким образом, чтобы php скрипт мог отправлять почту нужно сервер . Версию sendmail для Windows можно скачать . Установка и настройка выполняется в три этапа. 1) Распаковываем архив на тот же диск, где установлен php. Например, я создал папку C:\wamp\sendmail. 2) Вносим изменения в файл php.ini: sendmail_path = "C:\wamp\sendmail\sendmail.exe -t" Как видите, нужно только указать путь к sendmail чтобы php мог ее найти. 3) Настраиваем sendmail . Все настройки находятся в файле sendmail.ini (расположен в папке с sendmail). Но перед тем как приступать к настройке пару слов об сервере . Вам совсем не обязательно устанавливать сервер на вашем компьютере. Многие почтовые сервисы предоставляют бесплатный доступ к своим серверам. сервером mail.ru, но, естественно, вы выбрать любой другой. Итак, открываем sendmail.ini и устанавливаем следующие параметры: smtp_server=smtp.mail.ru default_domain=mail.ru error_logfile=error.log debug_logfile=debug.log ; очень полезная на этапе отладки опция. Протоколируются все операции, которые выполняет sendmail auth_username=account_name@mail.ru pop3_server=pop.mail.ru pop3_username=account_name@mail.ru force_sender=account_name@mail.ru hostname=mail.ru Теперь не забудьте перезапустить web сервер , чтобы изменения вступили в силу. Он создает форму с тремя полями для ввода адреса , темы и содержания письма. Нажатие на кнопку «Отправить» отправит запрос этому же скрипту (строка 23). Если данные введены, то будет вызвана функция mail (строка 15), которая и отправит письмо. В случае успешной отправки функция возвращает true, в противном случае – false. Как видите, ничего сложного в настойке почты нет. Удачи!

Похожие статьи:

Hosted by uCoz