Страница 1 из 1

Denwer + Sendmail

СообщениеДобавлено: 10 мар 2011 19:27, Чт
UncleFather
Проблема:

Необходимо сменить слушаемый Denwer-ом SMTP порт с 25-го на 24-й.

Объяснение:

Т.к. Денвер предназначен прежде всего для отладки, использование «реального» sendmail в нем вряд ли оправдано. Именно по этой причине базовый пакет содержит «отладочную заглушку» для sendmail, которая складывает письма, приходящие от скриптов на Perl и PHP, в файл /tmp/!sendmail.txt. В большинстве случаев этого должно быть достаточно, однако, если вам все же потребуется настоящий сервер, можно порекомендовать, например, вот этот: http://courierms.narod.ru. См. также собрание ссылок на иные варианты.

Или, если у Вас уже есть настроенный почтовый сервер, то просто прописываем его параметры в php.ini, см..

При ближайшем рассмотрении видно, что, собственно, сам исполняемый файл "sendmail.exe" даже не запускается. Вместо него работает "sendmail_daemon_start.exe". Так же - как ни старайся, настройки из файла "php.ini" абсолютно не влияют на процесс sendmail.

Решение:

  1. Открываем файл "\denwer\tools\sendmail\common.pm"
  2. Находим строку
    Код: Выделить всё
    my $port = 25;
  3. Меняем номер порта на тот, который нам нужен
    Код: Выделить всё
    my $port = 24;
  4. Сохраняем изменения и закрываем файл
  5. Перезапускаем Denwer
  6. Тестируем работу заглушки:
    Код: Выделить всё
    telnet localhost 24
    в ответ мы должны получить сообщение от sendmail:
    Код: Выделить всё
    220 Denwer mail daemon emulator
  7. Выходим командой
    Код: Выделить всё
    quit

Примечание: Заглушка sendmail по-умолчанию слушает только локальный компьютер (localhost)