외부 postfix 릴레이 HOST와 내부 postfix 서버를 설정하고 있습니다. 내 내부 postfix 서버가 외부 smtpd 서버 (둘 다 postfix를 사용하고 있음)를 통해 이메일을 보내는 아이디어입니다. 저는 서버 #1이 웹앱을 호스팅하는 데 사용되며 Postfix 인스턴스는 메시지를 보내기 위해 외부 Postfix 릴레이 호스트인 서버 #2에 메시지를 전달하는 데만 사용된다는 사실 때문에 이 아키텍처를 사용하고 있습니다. 이는 내 웹앱 서버(서버#1)에서 거래 이메일을 보내는 부담을 덜어주기 위해 수행됩니다.
내 설정은 다음과 같습니다.
내외부mynetworks=A.B.C.D
postfix 서버 에서 내부 postfix 서버로부터의 중계를 허용하도록 main.cf의 지시문을 변경했습니다 .
내내부smtp.mydomain.com myusername:mypassword
postfix 서버 /etc/postfix/saslpasswd에 지시문을 추가하여 sasl 인증을 설정했습니다 .
내 질문은 내 릴레이 호스트에 sasl 인증 자격 증명을 어디에 추가해야 합니까??입니다.
또한 (이 두 지시어 외에도) 내 명령에 추가해야 할 다른 구성 세부 사항이 있습니까?외부내 내부 postfix 서버에서 들어오는 이메일을 전달하도록 postfix 릴레이 HOST를 사용하시겠습니까?
어떤 도움이라도 대단히 감사하겠습니다.
답변1
목표가 외부 호스트를 내부 호스트에 대한 릴레이로만 사용하는 것이라면 mynetworks에 IP를 추가하면 sasl 인증이 필요하지 않습니다. 외부 호스트를 통해 전송하도록 승인된 내부 호스트에 대한 인증을 애플리케이션에 강제로 적용하고 있습니다. 비슷한 설정을 사용합니다.
집에 postfix/dovecot 서버가 있고 클라우드에 가상 서버가 있습니다. 클라우드의 서버는 인증을 사용하지 않으며 (모든 호스트에서) 내 도메인으로 들어오는 메일만 허용하지만 내 홈 IP 및 기타 VPN IP가 무엇이든 보낼 수 있도록 허용합니다.
permit_mynetworks
아래와 같이 외부 호스트의 모든 smtpd 제한 사항에 포함되어 있는지 확인해야 합니다.
smtpd_client_restrictions = permit_mynetworks, reject_unauth_destination, reject_unknown_recipient_domain, reject_rbl_client zen.spamhaus.org, reject_rbl_client b.barracudacentral.org, reject_rbl_client hostkarma.junkemailfilter.com=127.0.0.2, permit
smtpd_recipient_restrictions = check_recipient_access hash:/etc/postfix/recipient_access, permit_mynetworks, permit_auth_destination, reject_unauth_destination
smtpd_relay_restrictions = permit_mynetworks