Я хочу пересылать почту с ноутбука через сервер. Я успешно настроил postfix и SASL, и могу AUTH
успешно использую telnet.
dhcp-241:~ jgorset$ telnet mail.example.com 25
Trying 85.25.124.196...
Connected to mail.example.com.
Escape character is '^]'.
220 mail.example.com ESMTP Postfix
EHLO mail.example.com
250-mail.example.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
AUTH PLAIN ***********************
235 2.7.0 Authentication successful
MAIL FROM: <user@example.com>
250 2.1.0 Ok
RCPT TO: <bob@gmail.com>
554 5.7.1 <bob@gmail.com>: Recipient address rejected: Access denied
Как показано выше, мне отказывают в ретрансляции через мой сервер postfix, хотя я прошел аутентификацию и настроил postfix, чтобы разрешить аутентифицированным клиентам ретранслировать почту.
# /etc/postfix/main.cf
# SMTP authentication
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_sasl_security_options = noanonymous
smtpd_recipient_restrictions = reject, permit_sasl_authenticated
Меня отвергают, потому что smtpd_recipient_restrictions
опция установлена на reject
, хотя специально говорится permit_sasl_authenticated
? У меня создалось впечатление, что последнее будет преобладать над первым, поскольку вам необходимо ввести либо reject
, defer
, defer_if_permit
или reject_unauth_destination
с этой опцией.
Обновить: Оказывается, это также происходит, если я подключаюсь через telnet с localhost. Если я закомментирую smtpd_recipient_restrictions
в строке, я могу отправлять почту кому угодно (правда, только с localhost). Я бы хотел сделать это с любого компьютера, который аутентифицируется с помощью SASL. Как мне это сделать?
Спасибо!
smtpd_receipient_restrictions сопоставляются слева направо, первое совпадение побеждает.
Вы хотите smtpd_recipient_restrictions = permit_sasl_authenticated, reject
smtp_recipient_restrictions оцениваются по порядку.
Вероятно, вы хотите что-то, что хотя бы начинается так:
smtpd_recipient_restrictions = permission_sasl_authenticated разрешения_mynetworks
А затем продолжайте либо отклонять все (если вы только отправляете почту и никогда не получаете почту на этом сервере), либо отклоняете вещи, которые выглядят как спам - ознакомьтесь с документацией по postfix для UCE, чтобы получить хорошую отправную точку.