Blog. Just Blog

PCL's Sendmail Emulator 1.3

Версия для печати Добавить в Избранное Отправить на E-Mail | Категория: Мои программы | Автор: ManHunter
PCL's Sendmail Emulator
PCL's Sendmail Emulator

Sendmail Emulator предназначен для эмуляции программы sendmail при отладке php-скриптов на локальном сервере под Windows. Эмулятор написан для личных нужд, функционал только тот, что был мне необходим. Все письма, отправленные при помощи функции mail(), складываются в заданную папку со всеми заголовками. Для установки программы надо распаковать папку sendmail в удобное для вас место, например в папку с PHP. Никаких записей в систему Sendmail Emulator не вносит, все настройки хранятся в файле конфигурации в папке с программой. После установки эмулятора в файле php.ini надо отредактировать секцию [mail function]:

[mail function]
smtp =
smtp_port =
sendmail_from =
sendmail_path = "полный_путь_к_sendmail\sendmail.exe"

Настройки самого эмулятора выполняются в файле sendmail.ini. Вот краткое описание всех параметров, которые для этого используются.

Параметр save_to_folder определяет папку, в которую будут сохраняться перехваченные письма. Она должна быть уже создана и доступна для записи. Если этот параметр пустой или отсутствует, то письма будут сохраняться в папку с sendmail. Путь к папке прописывается без кавычек.

Параметр fix_crlf определяет будут или нет заменяться в письме символы перевода каретки на пару CRLF. Поясню зачем это нужно. При правильном формировании и отправке письма из скрипта заголовки и все части письма разделяются одиночным символом "\n". Соответственно это же получит sendmail и сохранит в файл письма на диске. При открытии такого файла стационарными почтовыми программами могут возникнуть проблемы, так как им требуется не одиночный символ "\n", а пара "\r\n". За все почтовые программы утверждать не буду, но на своем The Bat! я наблюдал именно такое поведение. Приходилось открывать файл письма в блокноте, сохранять, чтобы прописались переносы строк CRLF, и только после этого письмо корректно открывалось. Для выполнения этого процесса "на лету" и был введен параметр fix_crlf. Значения параметра: 1 - включено, 0 или пусто - выключено.

Если указан параметр open_email, то после создания письма оно будет сразу же открыто при помощи внешней программы, заданной этим значением. Путь к программе можно задавать с использованием переменных окружения.

Если внешней программе требуется передавать дополнительные параметры, то укажите их в ключе настроек open_param. Шаблон %s будет заменен на полное имя файла письма. При пустом значении программе в качестве единственного параметра будет передано имя файла письма. Если ключ open_email не задан, то open_param будет игнорироваться.

Параметр open_email_by_default определяет, требуется ли открывать созданные файлы .EML в программе, которая указана в системе по умолчанию. Значения параметра: 1 - ДА, 0 - НЕТ. Если этот параметр указан, то параметры open_email и open_param будут игнорироваться.

Для диагностики добавлен параметр write_log, имеющий значение 1 - ДА, 0 - НЕТ. При включенном параметре эмулятор будет записывать подробный лог в папку с программой.

Для проверки настройки эмулятора запустите sendmail_test.bat из папки sendmail. Если все сделано правильно, то в указанной папке будет создано тестовое письмо.

PCL's Sendmail Emulator 1.3PCL's Sendmail Emulator 1.3

Sendmail.Emulator.1.3-PCL.zip (42,720 bytes)


Поделиться ссылкой ВКонтакте
Просмотров: 8596 | Комментариев: 17

Внимание! Статья опубликована больше года назад, информация могла устареть!

Комментарии

Отзывы посетителей сайта о статье
ManHunter (26.04.2016 в 00:27):
Версия 1.3. Добавлено расширенное логирование (параметр write_log в ini-файле), изменен формат имени сохраняемых eml-файлов, устранены все найденные ошибки, повышена стабильность работы.
ManHunter (08.04.2016 в 11:18):
В следующей версии будет расширенная диагностика и подробное логирование. Можно будет выяснить, почему не сохраняет.
Руслан (02.04.2016 в 19:42):
У меня тоже не вызывается. винда 7
Саня (14.02.2016 в 06:15):
Отличный эмулятор, всё работает!
Жека (01.10.2012 в 21:21):
Доброго времени суток! Спасибо за програму! Подскажите пожалуйста, работаю с этой прогой на XP Х86 все класно, а на 7ке Х64 не хочет создавать файл письма (версии сервера и пхп идентичны, настройки тоже), после инициализации скрипта ошибки не выдает, при тестировании через бат файл все работает нормально, антивирус не бллокирует, незнаю на что грешить?
Сергей (12.06.2012 в 13:09):
Огромнейшее спасибо за программку. Просто, удобно, а главное - работает!!!
От души благодарю, раньше мучался со всяким платным хламом с кучей ненужных настроек и работало все через раз. А тут распаковал, чуть поправил как тебе надо и все пошло как часы.
ManHunter (29.09.2011 в 13:25):
А программа тут при чем? Что отправилось - то и сохранилось.
Лилиян (29.09.2011 в 13:23):
Здраствуйте!Спасибо за програму, работает отлично, но есть проблема - письма в приходят пустые,с чем это связано?
ManHunter (23.05.2011 в 13:54):
Выяснилась проблема с переменными окружения, по умолчанию Apache их не подгружает и не передает дочерним процессам. Для решения добавьте следующие строчки в файл httpd.conf и перезапустите сервер. Например:

PassEnv SystemDrive
PassEnv ProgramFiles

Если нужны другие переменные окружения, то добавьте и их тоже.
semenov (22.05.2011 в 13:07):
В состав Денвера подобная утилита входит
ManHunter (17.08.2009 в 10:40):
Я разве сказал, что винду надо ПОКУПАТЬ? Как можно вообще платить за софт??? :)) У меня виста прожила минут 30, пока я вез ноутбук из магазина домой. После этого поставил XP, сейчас на ноуте крутится русский Win7 Ultimate.

Программу проверил на Windows Server 2008 R2, Windows 7 x64 и на Windows 7 x86, все работает как надо. Запускал по нескольку сотен раз на каждой системе, не было ни одного вылета.
Alien2001 (17.08.2009 в 10:07):
ManHunter, ежели стояла она на компьютере, что ж ее выбросить и XP купить? Посмотрел подробно - срабатывает она один раз из 10. В остальное время вылетает ошибка "Прекращена работа Обработчика команд Windows". Сбой в cmd
ManHunter (17.08.2009 в 00:00):
Не вопрос, завтра проверю под Win7 x64. А про висту я даже не знаю что это такое, понаставят себе на компы всякого говнища, а потом маются с ним.
Alien2001 (16.08.2009 в 23:45):
Спасибо, очень нужная программа. Но под Вистой никак работать не хочет - вылетает окошко о прекращении процесса :(
Vito (16.07.2009 в 18:49):
Спасибо, друг! Ты реально помог своей прожкой!
ManHunter (24.06.2009 в 14:54):
А у меня вызывается. Это все, что я могу ответить.
serega (24.06.2009 в 14:08):
Чего-то не вызывается из php этот файлик.

Добавить комментарий

Заполните форму для добавления комментария
Имя*:
Текст комментария (не более 2000 символов)*:

*Все поля обязательны для заполнения.
Комментарии, содержащие рекламу, ненормативную лексику, оскорбления и т.п., а также флуд и сообщения не по теме, будут удаляться. Нарушителям может быть заблокирован доступ к сайту.
Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2024
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.07 сек. / MySQL: 2 (0.0021 сек.) / Память: 4.5 Mb
Наверх