DopustimVladimir
@DopustimVladimir
Веб-ориентированный программист

Как отправить почту через Postfix от любого IP и только после авторизации?

Всем привет! На стандартных портах 25 и 465 крутится Postfix, а на 143 и 993 сидит Dovecot. Spamassassin прикручен и настроен sieve. При этом эксплуатируется MySQL, авторизация проходит успешно. Входящие из внешней зоны временно REJECT через iptables, кроме того IP, с которого проходит тестирование почтового сервиса. DNS настроен (есть MX, SPF и DKIM, а PTR создан Bind9 автоматом - работает и пускай). Сертификаты от Let's Encrypt и OpenDKIM имеются. Непосредственно с сервера почта отлично отправляется и принимается. С тестируемого IP отлично работает IMAP, а вот SMTP даже после авторизации (AUTH PLAIN LOGIN) выдает "554 5.5.1 Error: no valid recipients" после ввода "DATA". Проверялось вручную через "openssl s_client -connect example.com:465". Из логов ясно, что "postfix/smtps/smtpd: warning: hostname X-X-X-X.provider.com does not resolve to address X-X-X-X: Name or service not known".

Вот некоторые настройки Postfix:

smtp_use_tls = yes 
smtpd_use_tls = yes 
smtpd_tls_auth_only = yes 
smtpd_tls_received_header = yes 
smtpd_tls_wrappermode = yes 
smtpd_tls_security_level = may 
smtpd_tls_cert_file = /etc/letsencrypt/live/mail.example.com/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/mail.example.com/privkey.pem
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtp_tls_security_level = may 
smtp_tls_note_starttls_offer = yes

smtp_tls_loglevel = 1 
smtpd_tls_loglevel = 1 

smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes 
smtpd_sasl_security_options = noanonymous, noplaintext
smtpd_sasl_tls_security_options = noanonymous

myhostname = mail.example.com
mydomain = example.com
myorigin = example.com
mydestination = 
mynetworks = 127.0.0.0/8 X.X.X.X

smtpd_helo_restrictions =
    permit_mynetworks,
    permit_sasl_authenticated,
    reject_non_fqdn_helo_hostname,
    reject_unknown_helo_hostname

smtpd_sender_restrictions =
    permit_mynetworks,
    permit_sasl_authenticated,
    reject_non_fqdn_sender,
    reject_unknown_sender_domain,
    reject_unverified_sender

smtpd_recipient_restrictions =
    permit_mynetworks,
    permit_sasl_authenticated,
    reject_non_fqdn_recipient,
    reject_unknown_recipient_domain,
    reject_unauth_destination

smtpd_relay_restrictions =
    permit_mynetworks,
    permit_sasl_authenticated,
    reject_unauth_destination


Общение с сервером из тестируемого IP выглядит примерно так:

220 mail.example.com
EHLO example.com
250-mail.example.com
250-PIPELINING
250-SIZE 51200000
250-VRFY
250-ETRN
250-AUTH PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-DSN
250 SMTPUTF8
AUTH PLAIN xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
235 2.7.0 Authentication successful
MAIL FROM: <support@example.com>
250 2.1.0 Ok
RCPT TO: <support@example.com>
RENEGOTIATING
depth=2 O = Digital Signature Trust Co., CN = DST Root CA X3
verify return:1
depth=1 C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
verify return:1
depth=0 CN = mail.example.com
verify return:1
DATA
554 5.5.1 Error: no valid recipients


Прошу подсказать, как можно настроить Postfix, чтобы можно было отправлять письма от почтового сервера с "любого" IP-адреса и с "любого" MUA (Thunderbird кстати почему-то отказывается работать с сервером по SSL, только STARTTLS).
  • Вопрос задан
  • 1067 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Tabletko
никого не трогаю, починяю примус
Так у вас mydestination пустой.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы