У меня есть несколько серверов postfix, которые я использую для отправки электронной почты из веб-форм, я хочу иметь возможность отправлять электронную почту с внешних доменов на мои домены, с моих доменов на мои домены и с моих доменов на внешние домены.
Я НЕ хочу иметь возможность отправлять сообщения с внешних доменов на внешние домены.
Кажется, что только mynetworks создает полное открытое реле (от любого к любому), чего я НЕ хочу.
внутренние домены = example.com, example.org внешний домен = yahoo.com
От внутреннего к любому = Разрешить
Желаемый результат:
mail from: user@example.com < 2.1.0 OK
rcpt to: userA@example.com < 2.1.5 OK
rcpt to: userB@example.org < 2.1.5 OK
rcpt to: userC@yahoo.com < 2.1.5 OK
Фактический результат:
rcpt to: userA@example.com < 2.1.5 OK
rcpt to: userB@example.org < 2.1.5 OK
rcpt to: userC@yahoo.com < 454 4.7.1 Relay Access Denied
Только с любого на внутренний
Желаемый результат:
mail from: user@example.com < 2.1.0 OK
rcpt to: userA@example.com < 2.1.5 OK
rcpt to: userB@example.org < 2.1.5 OK
rcpt to: userC@yahoo.com < 454 4.7.1 Relay Access Denied
Фактический результат:
mail from: userC@yahoo.com < 2.1.0 OK
rcpt to: userA@example.com < 2.1.5 OK
rcpt to: userB@example.org < 2.1.5 OK
rcpt to: userC@yahoo.com < 454 4.7.1 Relay Access Denied
По мере того, как я проходил через каждый сценарий, я понял это!
/etc/postfix/main.cf
mynetworks = 127.0.0.0/8, 10.0.0.0/8
relay_domains = example.com, example.org
smtpd_recipient_restrictions = check_recipient_access hash:/etc/postfix/sender_access,reject_unknown_sender_domain,reject_unknown_recipient_domain,permit
smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, defer_unauth_destination
smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/sender_access,check_recipient_access hash:/etc/postfix/sender_access,reject_unknown_sender_domain,reject_unknown_recipient_domain,reject
/ и т.д. / postfix / sender_access
example.com OK
example.org OK