UncleFather » 10 мар 2011 18:27, Чт
Проблема:
Необходимо сменить слушаемый 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"
-
Находим строку
-
Меняем номер порта на тот, который нам нужен
-
Сохраняем изменения и закрываем файл
-
Перезапускаем Denwer
-
Тестируем работу заглушки:
в ответ мы должны получить сообщение от sendmail:
-
Выходим командой
Примечание: Заглушка sendmail по-умолчанию слушает только локальный компьютер (localhost)
[b]Проблема:[/b]
Необходимо сменить слушаемый Denwer-ом SMTP порт с 25-го на 24-й.
[b]Объяснение:[/b]
[url=http://www.denwer.ru/faq/other.html]Т.к. Денвер предназначен прежде всего для отладки[/url], использование «реального» sendmail в нем вряд ли оправдано. Именно по этой причине базовый пакет содержит «отладочную заглушку» для sendmail, которая складывает письма, приходящие от скриптов на Perl и PHP, в файл /tmp/!sendmail.txt. В большинстве случаев этого должно быть достаточно, однако, если вам все же потребуется настоящий сервер, можно порекомендовать, например, вот этот: [url]http://courierms.narod.ru[/url]. См. также [url=http://forum.dklab.ru/denwer/advises/ReplacementZaglushkiSendmailOnPresentSendmail.html]собрание ссылок на иные варианты[/url].
Или, [b]если у Вас уже есть настроенный почтовый сервер[/b], то просто прописываем его параметры в php.ini, [url=http://manaeff.ru/forum/viewtopic.php?f=10&t=931&p=1198&hilit=sendmail#p1198]см.[/url].
При ближайшем рассмотрении видно, что, собственно, сам исполняемый файл [i]"sendmail.exe"[/i] даже не запускается. Вместо него работает [i]"sendmail_daemon_start.exe"[/i]. Так же - как ни старайся, настройки из файла [i]"php.ini"[/i] абсолютно не влияют на процесс [i]sendmail[/i].
[b]Решение:[/b]
[list=1][*] Открываем файл [i]"\denwer\tools\sendmail\common.pm"[/i]
[*] Находим строку [code]my $port = 25;[/code]
[*] Меняем номер порта на тот, который нам нужен [code]my $port = 24;[/code]
[*] Сохраняем изменения и закрываем файл
[*] Перезапускаем Denwer
[*] Тестируем работу заглушки: [code]telnet localhost 24[/code] в ответ мы должны получить сообщение от [i]sendmail[/i]:[code]220 Denwer mail daemon emulator[/code]
[*] Выходим командой [code]quit[/code][/list]
[b]Примечание:[/b] Заглушка [i]sendmail[/i] по-умолчанию слушает только локальный компьютер (localhost)