Делаем заглушку sendmail под виндой

lift

Читатель
Заблокирован
Регистрация
1 Июл 2007
Сообщения
2.222
Реакции
1.487
Если у вас стоит денвер - можно дальше не читать :)
Если читаеш дальше, то за слово "денвер" я жму на триугольничек с восклицательным знаком сбоку от этого поста ну и дальше все правила читали (надеюсь) и знают что будет.

Итак, часто возникает проблема что на сервере под виндой нужна работа php mail. Если вы "счастливый" обладатель денвера то там есть встроенная заглушка под него. Она сохраняет письма в файлики без проблем. Но дело в том, что денвер это очень специфический инструмент. Часто нужно ставить или другой готовый сборник, или потративный сборник (xampp для usb например) или полноценный сервер апачь+пхп+чтотамвамеще надо.
Последний вариант был как раз у меня. И неработающий сендмайл мягко говоря раздражал. А ставить ради этого нормальный почтовый софт небыло не желания не смысла. А вот заглушку бы найти было бы очень неплохо. Просидев достаточно долго в гугле я нашел 2 решения более менее приличных:
1) ставим еще и денвер, а в основном конфиге php ставим его сендмайл. Работает денвер->работает сендмайл. Но возник вопрос логичный: а нафига мне еще и денвер опять таки если я специально его избегал. Выдрать из него только сендмайл неполучится, он привязан на уровне компиляции exe файла к определнным путям и запущенным процессам.
2) поставить сендмайл-эмулятор нормальной почтовой системы. Но это как оказалось работает через ж**у да еще и не подо всеми осями. И опять таки не то что нам нужно.

Тогда я стал копаться в разных готовых серверных сборках (благо их море) и всетаки кое что раскопал. И приспособил для отдельной работы (тоесть можно ставить модулем к любому серверу под виндой). А самое замечательное, что и под ХР и под вистой и под всей серверной линейкой это тоже замечательно работает.

Собственно нам нужен всего лиш 1 exe файл, который можно скачать по лике:

После скачки, мы распаковываем его в удобное место (я распаковал его в С\Sendmail\)
Когда он распакованн, можно его запустить. Во первых убедимся что он работает, а во вторых, если стоит антивирус, то он его сразу отловит и можно создать правила в антивирусе чтоб все работало не блокируясь.
При первом запуске будет создана папка
С\Sendmail\mail\
в которой и будет теперь лежать файлы с письмами.
Итак, все работает, мелькнуло cmd окошко, настроенн антивирь. Теперь можно открыть ваш php.ini и прописать туда:
SMTP = localhost
smtp_port = 25
sendmail_path = "C:\Sendmail\sendmail.exe -t"
(напомню, что если вы распаковали его в другое место, то соответственно подправьте пути)
после чего перезапускаем апачь и все. Заглушка на сендмайл есть и все что отправленно php mail теперь ложиться в папочку, файлами с расширением eml которые можно открыть и самой виндой, и например, в тотал коммандере по F3.

Те же самые манипуляции можно проделать и в xampp для usb, указав не прямой путь до сендмайла, а путь с переменной системрут в том же синтаксисе что и остальные пути в xampp для usb.

Ну и собственно, если кому то не нравиться заглушка из денвера, то можно и ее поменять на эту.

(c) Lift for nulled.ws 28 марта 2009
 
"Файл удален с сервиса"
Просьба перезалить.
 
Наверно туплю, но спрошу...
Как настраивается адрес мыла: ...@localhost?
Или перехватывает всё?
 
Или перехватывает всё?
Походу перехватывается все. отправляешь на test@localhost и смотриш через заглушку что к тебе пришло.
 
Перехватывает все. С точки зрения сервера и скриптов все мыла уходят как и обычно. Собственно это и есть обычный сендмайл только он не отправляет реально письмо а калдет его в папочку. Удобно кстати дебажить скрипты со стучалками ))))
 
Не успел скачать :(
Файл удален даже с зеркал
 
Дописать в предыдущий пост не могу, из-за истечения времени с момента его написания, поэтому написал новый пост.

lift просил передать, что перезалил файл.

 
Я тоже не успел скачать.
Файл не найден. Перезалейте пожалуйста.
 
Назад
Сверху