Новый сервер Postfix не ретранслирует почту в Office 365, статус=отложенный

Новый сервер Postfix не ретранслирует почту в Office 365, статус=отложенный

Я настраиваю новый сервер Ubuntu (18.04 LTS) в качестве почтового ретранслятора для внутренних хостов, чтобы отправлять почту, например, уведомления по электронной почте, когда у устройства возникают проблемы. Мы используем Office 365, поэтому это позволяет нам направлять такие сообщения с оборудования и программного обеспечения внутри компании в наши почтовые ящики. В моей организации это было настроено очень просто с помощью Postfix в течение нескольких лет. К сожалению, сотрудник, который это настраивал, давно ушел, и я не могу найти никакой документации по деталям. Однако, основываясь на некоторой информации, которую я нашел, похоже, что конфигурация не должна быть такой сложной. Я установил Postfix на новую систему и попытался настроить его так, чтобы он максимально соответствовал существующей конфигурации. Вот мой /etc/postfix/main.cfфайл с изменениями для анонимности:

# See /usr/share/postfix/main.cf.dist for a commented, more complete version


# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

readme_directory = no

# See http://www.postfix.org/COMPATIBILITY_README.html -- default to 2 on
# fresh installs.
compatibility_level = 2

# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated     defer_unauth_destination
myhostname = myservername.domain.edu
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = myservername.domain.edu, localhost.domain.edu, localhost
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = ipv4
message_size_limit = 10240000
permit_mynetworks = yes
mynetworks = 172.16.4.0/24, 172.16.5.0/24, 172.16.246.0/24, 192.168.90.0/24, 192.168.1.0/24, ###.###.103.0/24, ###.###.104.0/24, ###.###.106.0/24, ###.###.250.0/24, 10.19.64.0/27, 10.19.66.0/27, 10.19.68.0/27

Я могу выйти в интернет с этого нового сервера, могу пинговать ресурсы в интернете и т. д., но он не отправляет почту. Я постоянно вижу записи в журнале о том, что сообщения задерживаются, а соединения истекают по тайм-ауту. Вот последние 30 строк моего /var/log/mail.logфайла, чтобы вы могли увидеть, какие сообщения я вижу. Опять же, я анонимизировал содержимое:

user@myservername:~$ tail -30 /var/log/mail.log
May 29 14:23:49 myservername postfix/smtp[3351]: warning: /etc/postfix/main.cf, line 49: overriding earlier entry: mynetworks=127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
May 29 14:24:19 myservername postfix/smtp[3349]: connect to subdomain.domain.edu[###.###.104.118]:25: Connection timed out
May 29 14:24:19 myservername postfix/smtp[3350]: connect to mxa-00246402.gslb.pphosted.com[148.163.147.197]:25: Connection timed out
May 29 14:24:19 myservername postfix/smtp[3351]: connect to subdomain.domain.edu[###.###.104.154]:25: Connection timed out
May 29 14:24:19 myservername postfix/smtp[3351]: connect to subdomain.domain.edu[###.###.104.57]:25: Connection refused
May 29 14:24:19 myservername postfix/smtp[3351]: connect to subdomain.domain.edu[###.###.103.6]:25: Connection refused
May 29 14:24:19 myservername postfix/smtp[3351]: connect to subdomain.domain.edu[###.###.250.72]:25: Connection refused
May 29 14:24:49 myservername postfix/smtp[3350]: connect to mxb-00246402.gslb.pphosted.com[148.163.143.147]:25: Connection timed out
May 29 14:24:49 myservername postfix/smtp[3349]: connect to subdomain.domain.edu[###.###.103.43]:25: Connection timed out
May 29 14:24:49 myservername postfix/bounce[3357]: warning: /etc/postfix/main.cf, line 49: overriding earlier entry: mynetworks=127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
May 29 14:24:49 myservername postfix/smtp[3351]: connect to subdomain.domain.edu[###.###.103.43]:25: Connection timed out
May 29 14:24:49 myservername postfix/bounce[3358]: warning: /etc/postfix/main.cf, line 49: overriding earlier entry: mynetworks=127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
May 29 14:24:49 myservername postfix/smtp[3350]: 35A96120180: to=<[email protected]>, relay=none, delay=631, delays=571/0.03/60/0, dsn=4.4.1, status=deferred (connect to mxb-00246402.gslb.pphosted.com[148.163.143.147]:25: Connection timed out)
May 29 14:24:49 myservername postfix/smtp[3351]: 4047E12083C: to=<[email protected]>, relay=none, delay=431116, delays=431056/0.04/60/0, dsn=4.4.1, status=deferred (connect to subdomain.domain.edu[###.###.103.43]:25: Connection timed out)
May 29 14:25:19 myservername postfix/smtp[3349]: connect to subdomain.domain.edu[###.###.104.154]:25: Connection timed out
May 29 14:25:19 myservername postfix/smtp[3349]: 68665120733: to=<[email protected]>, relay=none, delay=434852, delays=434761/0.06/90/0, dsn=4.4.1, status=deferred (connect to subdomain.domain.edu[###.###.104.154]:25: Connection timed out)
May 29 14:25:19 myservername postfix/qmgr[1688]: 68665120733: from=<[email protected]>, status=expired, returned to sender
May 29 14:25:19 myservername postfix/cleanup[3365]: warning: /etc/postfix/main.cf, line 49: overriding earlier entry: mynetworks=127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
May 29 14:25:19 myservername postfix/cleanup[3365]: CE1B8124492: message-id=<[email protected]>
May 29 14:25:19 myservername postfix/bounce[3357]: 68665120733: sender non-delivery notification: CE1B8124492
May 29 14:25:19 myservername postfix/qmgr[1688]: CE1B8124492: from=<>, size=2844, nrcpt=1 (queue active)
May 29 14:25:19 myservername postfix/qmgr[1688]: 68665120733: removed
May 29 14:25:49 myservername postfix/smtp[3350]: connect to mxa-00246402.gslb.pphosted.com[148.163.147.197]:25: Connection timed out
May 29 14:26:19 myservername postfix/smtp[3350]: connect to mxb-00246402.gslb.pphosted.com[148.163.147.197]:25: Connection timed out
May 29 14:26:19 myservername postfix/smtp[3350]: CE1B8124492: to=<[email protected]>, relay=none, delay=60, delays=0.03/0/60/0, dsn=4.4.1, status=deferred (connect to mxb-00246402.gslb.pphosted.com[148.163.147.197]:25: Connection timed out)
May 29 14:28:49 myservername postfix/qmgr[1688]: 8F7B51200D6: from=<>, size=2838, nrcpt=1 (queue active)
May 29 14:28:49 myservername postfix/trivial-rewrite[3378]: warning: /etc/postfix/main.cf, line 49: overriding earlier entry: mynetworks=127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
May 29 14:28:49 myservername postfix/qmgr[1688]: 92033120E39: from=<>, size=2836, nrcpt=1 (queue active)
May 29 14:28:49 myservername postfix/smtp[3379]: warning: /etc/postfix/main.cf, line 49: overriding earlier entry: mynetworks=127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
May 29 14:28:49 myservername postfix/smtp[3380]: warning: /etc/postfix/main.cf, line 49: overriding earlier entry: mynetworks=127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128

На самом хосте не настроен и не запущен брандмауэр, и, судя по моим разговорам с сетевым инженером, этот трафик не должен блокироваться ничем. Однако с существующего сервера я могу подключиться по telnet к имени почтового сервера Office 365, указанному в записи MX для моей организации, на порту 25, и получить ответ, отправить ему «привет» и т. д. Я не могу сделать то же самое с этого нового сервера. Мой сетевой инженер уверен, что на брандмауэре нет ничего, что могло бы блокировать исходящий трафик, и хотя он пытался помочь мне устранить неполадки, он не увидел ничего, что указывало бы на причину этого. Я не уверен, что еще я мог упустить. Любая помощь была бы очень признательна.

решение1

Чтобы настроить SMTP-ретранслятор, вам необходимо определить relayhost вместе с некоторыми элементами аутентификации SASL.

Хотите ли вы добавить эти элементы конфигурации в конец вашего main.cf?

smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/sasl_password
relayhost = your.office365.relayhost
smtp_tls_security_level = may

Очевидно, вам придется изменить «your.office365.relayhost» на реальное имя хоста (которое должно [smtp.office365.com]:587соответствовать этой ссылке:https://secopsmonkey.com/mail-relaying-postfix-through-office-365.html

Файл sasl_password также описан в связанном руководстве, он должен выглядеть примерно так:

[smtp.office365.com]:587 [email protected]:soopersekretPassvv0rd

и вам придется postmap его с postmap hash:/etc/postfix/sasl_passwd. После этого вам придется перезапустить postfix с systemctl restart postfix.service.

Я не знаком с Office 365, но для ретрансляции через серверы MS Exchange Servers довольно часто приходится пробовать разные порты.

Надеюсь это поможет!

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