sendmail
Настройка sendmail под Windows24.01.2010 сайт автора: http://webi.ru
публикация данной статьи разрешена только со ссылкой на сайт автора статьи
Данная статья входит в цикл статей, посвященных установке веб сервера на windows.
|
В этой статье я расскажу как установить и настроить sendmail на домашнем сервере под windows.
Для начала скачайте комплект sendmail.
Если у вас уже стоит sendmail можете его удалить, а на его место скопировать скаченные файлы.
Особенно это касается тех, кто устанавливал сервер с помощью xampp. Дело в том, что в последних версиях xampp лежит новая версия sendmail, лично я так и не смог его запустить, к тому же он работает с уже другим типом конфигурации. Возможно проблемы с этим новым sendmail и будут решены в дальнейшем, а пока предлагаю использовать старый проверенный вариант, который работает как "трактор".
Так же в архиве лежит две библиотеки, с помощью которых sendmail может работать с защищенными соединениями TLS, типа почты гугла(gmail).
Скачали архив, распаковали, закачали файлы в папку sendmail, если такой папки нет, создайте ее.
Для xampp это путь /xampp/sendmail.
Теперь открывайте настройки sendmail.ini, в архиве находится пример этого файла с русскими комментариями.
Привожу пример файла настроек
; конфигурационный файл sendmail
[sendmail]
; здесь укажите сервер исходящей почты
smtp_server=smtp.mail.ru
; порт smtp, если обычный режим отправки, то порт будет 25
; если сервер работает в защищенном режиме (TLS), то порт 465, например почта гугла работает через 465 порт
smtp_port=25
; домен по умолчанию (совсем не обязательно)
;default_domain=local
; лог ошибок
error_logfile=error.log
; лог отправки, необходим на стадии тестирования. содержит весь текст переговоров с сервером при отправке писем.
debug_logfile=debug.log
; Если smtp сервер с авторизацией, укажите логин пароль(без кавычек), если без авторизации ничего не пишите
auth_username=
auth_password=
; если перед отправкой почты сервер требует авторизацию через POP, заполните эти поля
;pop3_server=
;pop3_username=
;pop3_password=
; email адрес, от которого идет отправка, вставится в заголовок "From: "
; если отправка писем идет через mail.ru, здесь обязательно должен быть адрес, через который произведена авторизация.
force_sender=
; хост, который указывается при авторизации в команде ehlo/helo
; указывайте домен, через который авторизуетесь
hostname=mail.ru
Вносите свои данные, логин-пароль и т.д. и все готово.
Сейчас настройте PHP, чтобы он мог использовать sendmail.
Откройте php.ini и найдите следующие строки
[mail function]
; SMTP = localhost
; smtp_port = 25
; sendmail_from = postmaster@localhost
sendmail_path = "\xampp\sendmail\sendmail.exe -t"
Первые строки указанные здесь закройте комментарием как показано (они не нужны), нужна только последняя строка указанная здесь, это путь до sendmail. Укажите свой путь и снимите комментарий (;) если он стоит.
Теперь перегружайте сервер и все готово, функция mail() должна работать.
Если возникают проблемы с отправкой почты, смотрите файлы
error.log и debug.log в sendmail(если вы их конечно включили в настройках sendmail.ini)
Другие статьи, посвященные запуску сервера на windows
|
Комментарии
RSS комментарии
03.12.2010 Andrei
Если у мя сервер www.server.ru , то в
smtp_server=smtp.server.ru указываю так?
04.12.2010 админ
Andrei, совсем не обязательно.
Смотря как настроен smtp сервер.
Чаще всего mail.server.ru или smtp.server.ru. А может быть и без поддомена, например просто server.ru.
Это надо узнать там, где smtp сервер находится.
05.12.2010 Sheg
Письмо почему то не доходит.
В error.log:
SSL is not available on this server.
В чём проблема, smtp Гугловский.
05.12.2010 админ
Sheg, в ошибке сказано, что ваш сервер не поддерживает SSL соединение. Гугловская почта работает только в защищенном режиме SSL, поэтому вам нужно установить поддержку SSL для sendmail.
http://webi.ru/webi_files/sendmail_ssl.html - здесь комплект с поддержкой SSL.
09.12.2010 Вячеслав.
Все настроил, при отправке письма скрипт ошибок не выдает - но в итоге, письмо для адресата так и не доходит.
В чем может быть проблема ?
Спасибо.
09.12.2010 админ
Вячеслав, включите логи.
Лог ошибок и лог отправки и посмотрите в эти файлы.
И сразу все будет ясно.
error_logfile=error.log
debug_logfile=debug.log
10.12.2010 Вячеслав.
Логи включены - ни каких сообщение об ошибках нет.
10.12.2010 Evengar
Вчера всё работало норм, сегодня письмо не доходит через мейл.ру. Ошибка Socket Error # 10054<EOL>Connection reset by peer.
11.12.2010 админ
Вячеслав, ну а в debug.log что?
Там ошибок нет, по этим логам письмо отправляется?
11.12.2010 админ
Evengar, ну если вчера отправлялось, а сегодня нет, значит проблемы с вашей связью или с сервером mail.ru
21.12.2010 Алексей
У меня sendmail даже на *.exe никак не реагирует, не говоря о скриптах, и в логах тож ниче нет(((
21.12.2010 админ
Алексей, можно подробнее? Что значит "sendmail на *.exe не реагирует"?
26.12.2010 Виталий
debug -- 31457280<EOL>250-8BITMIME<EOL>250-AUTH PLAIN LOGIN<EOL>250 STARTTLS<EOL>
10.12.26 11:50:44 ** Authenticating as er45633
10.12.26 11:50:44 >> STARTTLS<EOL>
10.12.26 11:50:44 << 220 2.0.0 Start TLS<EOL>
10.12.26 11:50:44 ** Disconnected.
10.12.26 11:50:44 ** Disconnected.
10.12.26 11:50:44 ** Disconnected.
10.12.26 11:50:44 ** Socket Error # 10054<EOL>Connection reset by peer.
и письмо не отправляется в чем причина , что не так???
26.12.2010 админ
Виталий, что-то не совсем понятно. вроде начинается защищенное соединение и обрывается.
с другими серверами пробовали коннектиться?
04.01.2011 Алексей К.
Та же проблема с ошибкой:
"Socket Error # 10054<EOL>Connection reset by peer."
И еще, по моему на Unix такой ошибки нету... Но письма все-равно не отправляются.
04.01.2011 Алексей К.
Спасибо вам большое !!!
Все получилось при использовании другого сервера почты!
04.01.2011
И еще вопрос,до каких размеров будет расти debug.log ? Или его можно отключить?
04.01.2011 админ
конечно лог отправки и лог ошибок можно отключить, просто удалите эту строку из конфига или закройте комментарием (;)
;error_logfile=error.log
;debug_logfile=debug.log
05.01.2011 Алексей К.
Спасибо еще раз! С Новым годом!!!!
10.01.2011 Alex
Подскажите пожалуйста. Я первый раз пытаюсь настроить sendmail.
Вообщем если я правильно понял настройки которые в sendmail.ini это для почты с которой будет отправляться письма, а адресс почты который указан в mail(); это куда будет производиться отправка. Если да, все делаю по примеру, почта у меня на гугле:
smtp_server=smtp.gmail.com
smtp_port=587
auth_username=name@gmail.com
auth_password=pass
force_sender=name@gmail.com
hostname=gmail.com
log из debug.log:
11.01.10 21:33:22 ** --- MESSAGE END ---
11.01.10 21:33:22 ** Connecting to smtp.gmail.com:465
11.01.10 21:33:23 ** Disconnected.
11.01.10 21:33:23 ** Disconnected.
11.01.10 21:33:23 ** Disconnected.
11.01.10 21:33:23 ** Error connecting with SSL.
log из error.log:
11.01.10 21:33:23 : Error connecting with SSL.
Что делать ? о_О
Добавить свой комментарий
|