현재 우리 조직의 일부 직원은 Google 캘린더를 사용하고 있으며 자체 이메일 도메인을 사용하여 Google 캘린더에 가입하고 있습니다.[이메일 보호됨], 회의 초대장을 만들면 Google 캘린더 서버는 FROM 주소를 사용하여 회의 초대장을 보냅니다.[이메일 보호됨]회의 참석자에게. Google 서버가 @ourdomain.com을 대신하여 이메일을 보낼 수 있도록 SPF 레코드에 _spf.google.com을 포함했습니다.
그러나 참석자가[이메일 보호됨]Google 서버가 회의 초대장을 보내려고 할 때의 이메일 주소[이메일 보호됨]도착하다[이메일 보호됨], "reject_sender_login_mismatch"가 지정되었기 때문에 이메일 서버(postfix)는 이메일을 거부합니다:
smtpd_recipient_restrictions =reject_unauth_pipelined,ject_sender_login_mismatch, recognition_unknown_sender_domain, allowed_mynetworks, allowed_sasl_authenticated
Google 서버가 로그인 없이 @ourdomain.com으로만 전달하고 receive_sender_login_mismatch를 우회하도록 허용하는 가장 적절한 솔루션은 무엇입니까? 정확한 IP 주소를 입력하지 않고 _spf.google.com을 Google 서버 목록으로 지정할 수 있는 방법이 있습니까(서버는 향후 변경될 수 있으므로)?
답변1
일반적으로 reject_sender_login_mismatch
외부 서버로부터 포트 25를 통해 메일을 수신할 수 없습니다. 일반적으로 포트 25에 배치하면 안 됩니다.
특정 외부 서버로부터 포트 25를 통해 인증되지 않은 이메일만 수신하려는 경우 몇 가지 옵션이 있습니다. 하나는 SPF 필터를 사용한 다음 도메인과 주고받지 않거나 SPF가 실패하는 header_checks
모든 메일에 적용하는 것입니다. REJECT
이는 IP 변경에 탄력적입니다.
두 번째 방법은 인증된 이메일을 제출 포트(예: 587)로 이동하는 것입니다. 어쨌든 이 작업을 수행해야 합니다. 그런 다음 iptables
선택한 방화벽을 사용하여 포트 25를 필터링할 수 있습니다. 이러한 레코드를 구문 분석 _spf.google.com
하고 필터 규칙에 추가하는 것(그리고 cron을 통해 업데이트하는 것)은 매우 간단합니다.