Postfix relayhost. Соединение отклонено

Postfix relayhost. Соединение отклонено

Postfix отказывается отправлять почту как relayhost. Он постоянно говорит:

подключиться к mydomain.com[xxx.xx.xxx.xxx]:25: Подключение отклонено

Однако порт 25 открыт:

sudo netstat -ntlp

tcp        0      0 127.0.0.1:33060         0.0.0.0:*               LISTEN      39162/mysqld        
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      57910/proftpd: (acc 
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      614/systemd-resolve 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      762/sshd: /usr/sbin 
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      70265/master        
tcp6       0      0 :::3306                 :::*                    LISTEN      39162/mysqld        
tcp6       0      0 :::80                   :::*                    LISTEN      61217/apache2       
tcp6       0      0 :::22                   :::*                    LISTEN      762/sshd: /usr/sbin 
tcp6       0      0 ::1:25                  :::*                    LISTEN      70265/master        
tcp6       0      0 :::443                  :::*                    LISTEN      61217/apache2

Я понятия не имею, откуда взялась эта проблема.
Может ли кто-нибудь мне помочь?

решение1

Ваш relayhost требует аутентификации. То есть вам нужно доказать, что вам разрешено отправлять почту через этот relayhost. Обычно оператор relayhost предоставляет вам учетные данные (логин и пароль), которые вы настраиваете в своем Postfix для использования при общении с relayhost.

Конфигурация аутентификации клиента SMTP (которая используется, когда ваш Postfix взаимодействует с ретранслятором, который является сервером SMTP) описана вPostfix SASL Руководство. Вот как:

В постфиксе main.cf:

relayhost = [relay.host.name]
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd

Первая строка задает хост-ретранслятор, вторая включает аутентификацию, а третья строка указывает файл, в котором хранятся учетные данные для каждого хоста-ретранслятора — то есть /etc/postfix/sasl_passwd. В этом файле вы помещаете:

[relay.host.name]              username:password

Всегда запускать postmap /etc/postfix/sasl_passwdпосле внесения изменений в этот файл и postfix reloadпосле редактирования main.cf. Также ограничьте доступ к этому файлу, так как он содержит конфиденциальную информацию:

chmod 0600 /etc/postfix/sasl_passwd
chown root:root /etc/postfix/sasl_passwd

Обратите внимание, что если ваш relayhost ожидает отправки данных на другом порту (например, когда мне нужно было настроить relayhost, я сделал это на smtp submissionпорту tcp/587), вам необходимо указать это и в relayhost = [relay.host.name]:submissionфайле , main.cfи в sasl_passwdфайле .

Клиент Postfix SMTP не поддерживает "прямой SMTPS" (они называют это "wrappermode"), где сервер SMTP-over-SSL ожидает SSL-рукопожатия непосредственно на порту tcp/465(как это делает Google). Он поддерживает только TLS через порт 25 или 587, запускаемый командой STARTTLS.

решение2

Connection refusedозначает, что на данном порту на данном интерфейсе ничего не прослушивается. И ваш вывод netstat показывает, что порт 25 прослушивается только на 127.0.0.1интерфейсе loopback.

Если вы попытаетесь получить к нему доступ с другого компьютера, он будет недоступен.

Чтобы Postfix прослушивал все интерфейсы, вам нужно изменитьinet_interfaces:

inet_interfaces = all

Если у вас несколько интерфейсов и вы не хотите, чтобы он прослушивал их все, вы также можете указать список IP-адресов, которые он должен прослушивать, разделенный запятыми.

Связанный контент