Я настраиваю почтовый сервер с Postfix и Dovecot. Удаленные почтовые клиенты могут читать электронную почту, но не могут отвечать на нее или отправлять новые сообщения. (Почтовые клиенты, локальные по отношению к серверу, получают и отправляют электронную почту нормально.) Например, Alpine пытается до тех пор, пока не будет сказано отказаться, когда он сообщает: «Ошибка отправки: сбой приветствия SMTP 421 Разорвано соединение SMTP».
Когда я запускаю alpine -d 4, вывод отладки показывает:
=== sending:
Sending mail...
call_mailer: via TCP
IMAP 11:34:01 9/14 mm_log babble: Try IP address [xx.xx.xxx.xxx]
IMAP DEBUG 11:34:02 9/14: * OK Dovecot ready
tcptimeout: waited 15 seconds
tcptimeout: waited 30 seconds
. . . .
Для меня это говорит о проблеме на сервере ч / б Dovecot и Postfix. Но я не могу понять, как это диагностировать.
Системный журнал сервера показывает успешный вход в систему imap, но ни один из журналов (удаленных или клиентских), похоже, не содержит никакой информации об отказе отправить сообщение.
Скорее всего, я что-то напортачил в конфигурации Postfix или Dovecot (SSL / TLS? SASL?). Я хотел бы решить эту проблему, не гадая до бесконечности. Итак, пожалуйста: Каков хороший способ отладки этого?
Как я могу проверить взаимодействие между различными процессами, чтобы найти тот, который дает сбой?
Есть ли способ увеличить производительность отладки / ведения журнала Postfix и Dovecot?
Есть ли способ имитировать взаимодействие Dovecot / Postix и / или подключение удаленного клиента / сервера IMAP, чтобы я мог видеть, работают ли они должным образом?
Спасибо.
Я бы также предположил, что это проблема с постфиксом, каков результат:
postconf -n
и
tail -n 50 /var/log/maillog (mail.log on ubuntu boxes)
Вы уверены, что у вас запущена почтовая программа SMTP, то есть подключитесь по telnet к вашему почтовому серверу через порт 25 и получите ответ?
Ты можешь притворяться стать клиентом, прочитав соответствующие RFC (особенно в разделе 4) и притворяется почтовым клиентом. Сначала отключите все конфигурации SSL / TLS, чтобы проверить, можете ли вы правильно отправлять почту. Затем включите их и используйте telnet-ssl
или openssl client
вместо этого подключиться к портам SSL.
Кроме того, вам нужно четко понимать, есть ли проблемы с местный или внешняя доставка почты. Если это местная доставка, вам нужно проверить, как это делается postfix
. Распространенный способ - перенаправить доставку местной почты на procmail
но также можно передать его по трубопроводу dovecot
и нужно убедиться, что трубопровод работает правильно. Проверить журналы.
Прежде всего, я бы начал с разделения этого на 2 вопроса. IMAP обрабатывается Dovecot. Если вы можете получать сообщения с сервера, значит, проблема не в Dovecot, а в том, что он выполняет свою работу.
Отправка почты осуществляется с помощью Postfix. Вы сказали: «Почтовые клиенты, локальные по отношению к серверу, отлично принимают и отправляют электронную почту». - это указывало мне на то, что ваши почтовые клиенты могут не аутентифицироваться на сервере Postfix на 25-м порту, или он не прослушивает ваши внешние интерфейсы на 25-м порту. Как упоминал Барт, попробуйте подключиться к порту 25 по telnet и посмотрите, получите ли вы сообщение Постфиксный баннер. Если вы это сделаете, убедитесь, что ваши клиенты проходят аутентификацию (и вы настроили Postfix для разрешения аутентификации), чтобы они могли отправлять почту через ваш сервер.