Я пытаюсь изучить почтовые серверы и меня немного пугают все эти движущиеся части в настройке.
В настоящее время я не могу отправлять через мой smtp-сервер. Я могу получать почту нормально с разных доменов.
В моих журналах при попытке отправить почту я вижу следующие записи.
- почта.log
Jul 31 11:59:15 mail postfix/submission/smtpd[1290]: connect from unknown[78.136.22.232]
Jul 31 12:01:03 mail postfix/postscreen[1294]: CONNECT from [209.85.214.179]:46881 to [45.77.139.149]:25
Jul 31 12:01:03 mail postfix/postscreen[1294]: PASS OLD [209.85.214.179]:46881
Jul 31 12:01:03 mail postfix/smtpd[1297]: connect from mail-pl1-f179.google.com[209.85.214.179]
Jul 31 12:01:05 mail postfix/smtpd[1297]: 03178A46: client=mail-pl1-f179.google.com[209.85.214.179]
Jul 31 12:01:05 mail postfix/cleanup[1299]: 03178A46: message-id=<CAMJ_LmbWv_5o7GZJx8RwqOqz52O_sWTrgX0_=mSi_Vt6+uz++Q@mail.gmail.com>
Jul 31 12:01:05 mail postfix/cleanup[1299]: 03178A46: milter-reject: END-OF-MESSAGE from mail-pl1-f179.google.com[209.85.214.179]: 5.7.1 Gtube pattern; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<mail-pl1-f179.google.com>
Jul 31 12:01:05 mail postfix/smtpd[1297]: disconnect from mail-pl1-f179.google.com[209.85.214.179] ehlo=2 starttls=1 mail=1 rcpt=1 data=0/1 quit=1 commands=6/7
Jul 31 12:04:15 mail postfix/submission/smtpd[1290]: timeout after CONNECT from unknown[78.136.22.232]
Jul 31 12:04:15 mail postfix/submission/smtpd[1290]: disconnect from unknown[78.136.22.232] commands=0/0
root@mail:~#
Моя ОС — Debian 9, и все правила iptables были сброшены во время тестирования. Вот мои master.cf и main.cf -->https://pastebin.com/9WUnzYZt
Спасибо
ПРАВКА1: Я забыл упомянуть кое-что. Я сделал grep 'smtp.*restrict' из моего main.cf. Я заметил, что smtpd_recipient_restrictions указывает на файл sql. Сам файл sql содержит следующий запрос. Может ли это быть причиной сбоя исходящей почты?
root@mail:~# grep smtp.*restrict /etc/postfix/main.cf
smtpd_relay_restrictions = reject_non_fqdn_recipient
smtpd_recipient_restrictions = check_recipient_access mysql:/etc/postfix/sql/recipient-access.cf
smtpd_client_restrictions = permit_mynetworks
smtpd_helo_restrictions = permit_mynetworks
smtpd_data_restrictions = reject_unauth_pipelining
root@mail:~# grep query /etc/postfix/sql/recipient-access.cf
query = select if(sendonly = true, 'REJECT', 'OK') AS access from accounts where username = '%u' and domain = '%d' and enabled = true LIMIT 1;
root@mail:~#
ПРАВКА2:Я настроил Mutt так, чтобы исключить проблему на стороне клиента, но все равно не могу заставить его работать.
└─[$] <> cat muttrc
set folder = "imaps://[email protected]@imap.mydomain.abc:993"
set smtp_url = "smtp://[email protected]@smtp.mydomain.abc:587"
set from = "[email protected]"
set realname = "hostmaster"
set spoolfile = "+Inbox"
set record = "+Sent"
set trash = "+Trash"
set postponed = "+Drafts"
mailboxes =Inbox =Sent =Trash =Drafts =Junk =Other
Однако всякий раз, когда я пытаюсь отправить почту, независимо от того, является ли это другим доменом или тем же адресом электронной почты, что и у отправителя, я вижу эту ошибку
SMTP session failed: 451 4.3.0 <[email protected]>: Temporary lookup failure
решение1
Первая проблема: у меня была опечатка в файле sender-login-maps.cf. Я говорил «ser» вместо «user» при указании dbuser.
Вторая проблема: После того, как я смог отправить почту, я запустил брандмауэр, однако перестал получать почту. Это было связано с блокировкой входящих подключений к TCP 25. Я не разрешил этого, так как думал, что если я настроил smtpd на использование 587, то ему не нужно открывать порт 25, однако для входящих подключений это не так.
Настройка почты теперь работает как надо.