개발 서버의 Postfix, 메일을 한 도메인으로 만 보낼 수 있습니다


11

개발 서버에 postfix가 있으며 다른 도메인이 아닌 도메인으로 만 메일을 보낼 수 있기 때문에 외부 사용자가 우연히 개발 서버에서 메일을받지 못하게하고 싶습니다.

문서를 검색하고 여러 가지를 시도했지만 여전히 모든 도메인으로 전송 중입니다 ...

답변:


7

transport (5) 맵은 이메일이 postfix로 라우팅되는 방식을 재정의하는 데 사용됩니다.

  • /etc/postfix/main.cf에 다음 줄을 추가하십시오 :

    transport_maps = hash:/etc/postfix/transport
    
  • 이 내용으로 새 파일 / etc / postfix / transport를 추가하십시오.

    .example.com   :
    example.com    :
    *              discard:
    

대체 example.com당신의 메일 서버는 여전히에 메일을 보내야 도메인과. 하위 도메인에 신경 쓰지 않으면 첫 번째 줄을 제거하십시오.

postmap (1) 로 파일을 편집 한 후 해시하고 postfix를 다시로드하여 변경 사항을 적용하는 것을 잊지 마십시오 .

# postmap /etc/postfix/transport && postfix reload

7

표준 smtpd_recipient_restrictions 또는보다 정확하게 check_recipient_access로 수신자를 쉽게 제한 할 수 있습니다 .

그냥 만들 액세스 (5) 테이블 /etc/postfix/access(다음과 같은 내용으로 example.com을 당신에게 메일을 보낼 수 있도록 할 도메인 인) :

example.com    OK

특정 주소 만 허용 할 수도 있습니다.

user1@example.com    OK
user2@example.com    OK

postmap (1)으로 파일을 편집 한 후 파일을 해시하는 것을 잊지 마십시오 :

# postmap /etc/postfix/access

이제 main.cf에 다음 수신자 제한을 두십시오.

smtpd_recipient_restrictions = 
    hash:/etc/postfix/access
    reject

Postfix를 다시로드하십시오.

postfix reload

그런 다음 작동하는지 테스트하십시오 .


1
이는 / usr / lib / sendmail 명령이 아닌 SMTP를 통해 전송 된 메일에 적용되며 로컬 프로세스는 두 가지를 모두 수행 할 수 있습니다. sendmail / postdrop을 통한 로컬 제출을 차단하기 위해 'authorized_submit_users'설정이 사용 된 것으로 보이며 smtpd 제한으로 충분합니다.
Jacek Konieczny 2012

6

따라서 누군가가 내가 한 것처럼이 문제를 우연히 발견하면 대답은 실제로 header_checks 이며 다음과 같이 작동합니다.

  • 다음 줄을 추가하십시오 /etc/postfix/main.cf.

    header_checks = regexp:/etc/postfix/header_checks
    
  • /etc/postfix/header_checks이 내용으로 새 파일 을 추가하십시오 .

    /^To:.*@allowed-domain.com/  DUNNO
    /^To:.*@/   REDIRECT redirect@example.com
    

대체 allowed-domain.com당신의 메일 서버는 여전히에 메일을 보내야 도메인과. 대체 redirect@example.com다른 모든 이메일로 리디렉션해야하는 이메일 주소로.

여러 도메인을 허용해야하는 경우 첫 번째 줄은 다음과 같아야합니다.

/^To:.*@(allowed-domain.com|another-domain.com)/  DUNNO

리디렉션하는 대신 다른 모든 메일을 간단히 삭제할 수 있습니다. 위의 두 번째 줄을 다음으로 바꾸십시오.

/^To:.*@/   DISCARD No outgoing mails allowed

설명:

  • Postfix는 메일 헤더를 하나씩 통과합니다.
  • 각 헤더 행은 header_checks파일 단위로 일치 합니다.
  • 첫 번째 행 ( To:허용 된 도메인 포함) 과 일치하면 다음 헤더 행으로 건너 뛰고 맨 위에서 다시 헤더 검사를 시작합니다. 일치하는 다른 회선이 없으므로 메일이 배달됨을 의미합니다.
  • 두 번째 줄과 일치하면 ( To:다른 외부 전자 메일 주소 포함) 메일을 리디렉션합니다.

이 문제는이 답변으로 해결 된 것 같습니다. 아마 해결 된 것으로 표시되어야합니까? (적어도 나를 위해 매력처럼 일했다)
Sverre

대해 Cc:Bcc:?
폴 토비아스

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.