Я также следовал руководству Флурди и столкнулся с аналогичной проблемой: я мог отправлять почту только через порт 25 (smtpd), но не через 587 (отправка). Я обнаружил, что проблема именно в том, что, согласно его инструкциям, порт 25 был настроен для работы в chroot, а 587 - нет - похоже, это ошибка в руководстве. Проверьте эту часть инструкции flurdy:
По умолчанию включена только обычная служба smtp, что нормально. Но я предпочитаю включить отправку (порт 587), чтобы клиенты могли ее использовать, и я могу ограничить их только TLS. Также включена служба smtps (порт 465) для совместимости с некоторыми более старыми клиентами (outlook express и т. Д.).
Прямо под этим текстом вы можете найти эту строку, заявив, что демон для порта отправки не будет использовать chroot:
submission inet n - n - - smtpd
Я знаю это, потому что в моем исходном /etc/postfix/master.cf
файле были комментарии с этой легендой:
# ========================================================================== # service type private unpriv chroot wakeup maxproc command + args # (yes) (yes) (yes) (never) (100) # ==========================================================================
Прямо под списком опций для порта отправки находится следующая строка, которая настраивает smtps (порт 465):
smtps inet n - - - - smtpd
Из этого вы можете видеть, что он использует значение по умолчанию (я думаю, -
знак означает, что он будет использовать значение по умолчанию, то есть использование chroot).
Хорошо, тогда, когда вы посмотрите на раздел аутентификации SASL, где написано:
Измените способ запуска SASLAUTHD:
Вы можете видеть, что OPTIONS
переменная содержит следующий путь:
# Switch this to be under postfix's spool # And add -r so that the realm(domain) is part of the username OPTIONS="-r -c -m /var/spool/postfix/var/run/saslauthd"
Опять же, с помощью моего первоначально закомментированного /etc/default/saslauthd
файла, я заметил это четкое объяснение:
# Other options (default: -c -m /var/run/saslauthd) # Note: You MUST specify the -m option or saslauthd won't run! # # WARNING: DO NOT SPECIFY THE -d OPTION. # The -d option will cause saslauthd to run in the foreground instead of as # a daemon. This will PREVENT YOUR SYSTEM FROM BOOTING PROPERLY. If you wish # to run saslauthd in debug mode, please run it by hand to be safe. # # See /usr/share/doc/sasl2-bin/README.Debian for Debian-specific information. # See the saslauthd man page and the output of 'saslauthd -h' for general # information about these options. # # Example for chroot Postfix users: "-c -m /var/spool/postfix/var/run/saslauthd" # Example for non-chroot Postfix users: "-c -m /var/run/saslauthd" # # To know if your Postfix is running chroot, check /etc/postfix/master.cf. # If it has the line "smtp inet n - y - - smtpd" or "smtp inet n - - - - smtpd" # then your Postfix is running in a chroot. # If it has the line "smtp inet n - n - - smtpd" then your Postfix is NOT # running in a chroot. OPTIONS="-r -c -m /var/spool/postfix/var/run/saslauthd"
Поскольку моя OPTIONS
переменная четко указывала регистр chroot, я просто изменил свою конфигурацию отправки, /etc/postfix/master.cf
чтобы также использовать chroot. После перезапуска сервера - просто для того, чтобы убедиться, что все службы были перезапущены должным образом - он работал как чудо, теперь я могу отправлять электронную почту через порт 25 или 587.
Надеюсь, это также поможет вам! Я также потерял достаточно времени, чтобы увидеть это ...