почему сообщение postfix smtp отключено?

На веб-сервере CentOS 7 установлены постфикс, dovecot и mailx. Я смог сделать IMAP-соединение с сервером, чтобы читать почту в почтовом ящике с помощью удаленного клиента Thunderbird, но я не могу подключить SMTP-соединение для отправки электронной почты от Thunderbird. Когда я делаю судебно-медицинскую экспертизу, я обнаруживаю, что попытка SMTP-соединения не работает. Как я могу решить эту проблему с тайм-аутом соединения, чтобы я мог отправлять электронную почту от Thunderbird через сервер?

Моя криминалистика до сих пор привела к:

Ввод hostname в терминале на сервере возвращает mydomain.com .

nano /usr/lib/firewalld/services/smtp.xml указывает, что порт smtp равен 25

Служба smtp активируется в общественной зоне, потому что firewall-cmd --list-all приводит к:

 public (default, active) interfaces: enp3s0 sources: services: dhcpv6-client imaps openvpn smtp ports: masquerade: yes forward-ports: icmp-blocks: rich rules: 

Но когда я пытаюсь подключиться к telnet с моего devbox на удаленном сервере CentOS 7, я получаю следующие результаты. Ввод telnet mydomain.com 25 привел к:

 Trying my.SERVER.ip.addr... telnet: connect to address my.SERVER.ip.addr: Connection timed out 

Затем, набрав telnet smtp.mydomain.com 25 появилось:

 Trying my.SERVER.ip.addr... telnet: connect to address my.SERVER.ip.addr: Connection timed out 

Кроме того, ввод параметров openssl s_client -CApath /etc/ssl/certs -starttls smtp -port 25 -host smtp.mydomain.com приводит к:

 socket: Connection timed out connect:errno=110 

Аналогично, набрав openssl s_client -CApath /etc/ssl/certs -starttls smtp -port 25 -host mydomain.com также привело к:

 socket: Connection timed out connect:errno=110 

Я набрал nano /etc/postfix/main.cf чтобы начать проверять конфигурацию, но не нашел ничего, что связано с портами.

РЕДАКТИРОВАТЬ:

По совету FaheemMitha я попробовал telnet mydomain.com 587 от клиента и не получил No route to host в ответе. Я думаю, это потому, что только порт 25 открыт в firewalld для smtp.

Поэтому я решил попробовать telnet с удаленного сервера mydomain.com. Когда я вошел на мой удаленный сервер через ssh и набрал telnet localhost 25 , результат был:

 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 mydomain.com ESMTP Postfix 

Это заставляет меня подозревать, что постфикс работает на 25-м порту, но так или иначе он не может принимать внешние соединения.

EDIT # 2

Согласно предложению RedCricket, я запускал iptables -L . Поскольку результаты были подробными, я загрузил их на сайт обмена файлами, который вы можете просмотреть, нажав на эту ссылку.

Я также попробовал iptables --flush firewall-cmd --reload , затем firewall-cmd --reload , а затем повторил тесты telnet и thunderbird сверху, но я все еще получаю сообщение об ошибке при подключении.

Что еще я могу попробовать?

Я загрузил весь /etc/postfix/main.cf на сайт совместного доступа к файлам. Вы можете прочитать его, нажав на эту ссылку.

EDIT # 3

Действительный адрес электронной почты someone.else@some_other_domain.com без проблем отправляет письмо на me@mydomain.com. Поэтому в качестве теста у меня был удаленный клиент Thunderbird, который пытается отправить электронное письмо на этот someone.else@some_other_domain.com в рамках работы, описанной выше в этом OP. Сегодня утром я получил сообщение отправителя в своем Thunderbird в результате тестового письма. Я интерпретирую это возвращенное сообщение как означающее, что хотя бы одно из моих тестовых сообщений от Thunderbird попало в SMTP на mydomain.com, но mydomain.com не смог найти или иным образом подключиться к some_other_domain.com. Вот сообщение:

 This is the mail system at host mydomain.com. I'm sorry to have to someone.elserm you that your message could not be delivered to one or more recipients. It's attached below. For further assistance, please send mail to postmaster. If you do so, please include this problem report. You can delete your own text from the attached returned message. The mail system <someone.else@some_other_domain.com>: Host or domain name not found. Name service error for name=some_other_domain.com type=MX: Host not found, try again Reporting-MTA: dns; mydomain.com X-Postfix-Queue-ID: 2C915811BD1C X-Postfix-Sender: rfc822; me@mydomain.com Arrival-Date: Mon, 23 Feb 2015 16:46:34 -0500 (EST) Final-Recipient: rfc822; someone.else@some_other_domain.com Action: failed Status: 4.4.3 Diagnostic-Code: X-Postfix; Host or domain name not found. Name service error for name=some_other_domain.com type=MX: Host not found, try again ForwardedMessage.eml Subject: key enclosed From: me@mydomain.com Date: 02/23/2015 01:46 PM To: someone.else@some_other_domain.com this is the body of the email 

Таким образом, кажется, что иногда соединение с моим удаленным devbox на mydomain.com закрывается, а в другое время соединение с mydomain.com в остальной части Интернета закрывается.

EDIT # 4

Следуя советам @ derobert, я сначала попробовал две команды telnet из devbox на сервер, а затем попытался отправить электронное письмо от me@mydomain.com с помощью клиента Thunderbird в своем devbox, а затем я запустил команду tcpdump на обоих devbox и на сервере. Набрав tcpdump port 25 на терминале devbox, получилось следующее:

 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode 

прослушивание на tun0, RAW типа ссылки (Raw IP), размер захвата 65535 байтов ^ C 0 пакетов, захваченных 0 пакетов, полученных фильтром 0 пакетов, сброшенных ядром

Затем, набрав tcpdump на сервере, появилось так много результатов, что результаты прокручивались бесконечно, пока я не набрал Ctrl-C. Поэтому я набрал tcpdump port 25 и получил следующие результаты:

 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on tun0, link-type RAW (Raw IP), capture size 65535 bytes ^C 0 packets captured 0 packets received by filter 0 packets dropped by kernel 

Как любопытство, я снова набрал tcpdump port 25 на обоих devbox и на сервере одновременно и оставил его открытым, не набрав Ctrl-C , и я попытался вручную отправить электронное письмо от me@mydomain.com с помощью клиента Thunderbird на моем devbox. У меня все еще есть тот же самый тайм-аут соединения, но не было активности, сообщаемой командами open tcpdump port 25 . И итоговые суммы также достигли нуля, когда я набрал Ctrl-C на обоих терминалах впоследствии.

  • Как настроить SSL для Apache2 на OpenSuSE 13.1
  • Простой HTTP-прокси для проверки нескольких клиентов
  • Автоматизация создания сертификатов OpenSSL, подписка Let'sEncrypt и связывание dir сайта в среде Nginx
  • Проблема SSL. Где я должен вставить сертификат.crt?
  • Невозможно отключить SSLv3 в Apache + mod_nss
  • Ошибка с сертификатами fetchmail и SSL
  • Невозможно отключить доступ не SNI к серверу SSL по умолчанию
  • Можно удалить папку ssl без конфликта
  • One Solution collect form web for “почему сообщение postfix smtp отключено?”

    После значительного устранения неполадок мы определили, что ISP на стороне клиента блокирует исходящий порт 25 (SMTP). Это было подтверждено с использованием тестового сайта случайного почтового сервера в Интернете и обнаружения возможности подключения к почтовому серверу. Пакеты SMTP с клиентской машины не поступали вообще (подтверждено через tcpdump ).

    Решение состоит в том, чтобы перенастроить прослушиватель SMTP на другом порту. 465 (SMTP через SSL) и 587 (отправка почты, RFC6409) являются общими вариантами.

    Linux и Unix - лучшая ОС в мире.