Необходимо сменить слушаемый 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.
Решение:
- Открываем файл "\denwer\tools\sendmail\common.pm"
- Находим строку
- Код: Выделить всё
my $port = 25;
- Меняем номер порта на тот, который нам нужен
- Код: Выделить всё
my $port = 24;
- Сохраняем изменения и закрываем файл
- Перезапускаем Denwer
- Тестируем работу заглушки:
- Код: Выделить всё
telnet localhost 24
- Код: Выделить всё
220 Denwer mail daemon emulator
- Выходим командой
- Код: Выделить всё
quit
Примечание: Заглушка sendmail по-умолчанию слушает только локальный компьютер (localhost)