메일을 삼켜서 지우는 메일 서버 구축

3876 단어 postfixmail

개요



정상적으로 수신하지만, 받은 데이터는/dev/null 에 흘려 보내는 Postfix의 구축.

그런 일은 뭐가 기쁘다.



DNS에 MX/A 레코드가 없는 도메인에서 메일을 거부하는 Postfix 설정 있습니다.
스패머가 아닌 한 존재하지 않는 도메인에서 메일을 보내는 것은 없을 것이라고 생각했습니다만, 일방적으로 no-reply 메일을 보내고 싶은 경우가 있습니다.
이 경우 메일을 거부하지 않으려면 메일 주소의 도메인 부분의 DNS에 뭔가 "궁극적으로 IP 주소가 되는 것(MX 레코드나 A 레코드)"을 설정해 둘 필요가 있습니다.
그러나 자발적으로 MTA를 가지지 않고 사내 공유의 릴레이 서버를 경유하는 경우 최종 목적지에 메일 주소 실수 등으로 거부 된 경우에 릴레이 서버가 "전달 할 수 없었습니다"를 보내는 곳에 송신 릴레이 서버에서 오류가 발생합니다. (DNS를 설정하지 않는 경우에도 에러는 나오지만, 네트워크 접속을 할 수 없었던 임시 에러 취급으로, 리트라이 처리가 달려 버리는 경우가 많습니다)
그 정도 허용한다는 손도 전혀 있습니다만, 최소한의 노력으로 「메일을 받아들이지만 곧바로 버린다」라고 하는 메일 서버를 만드는 것으로 해결하려고 생각합니다.


  • MAIL FROM: Nore ply @ Hoke. 후가. 그래 mpぇ. 이 m/RCPT TO: 우세 r @ Atesaki-Domain. 그래 mpぇ. jp
  • MAIL FROM: Nore ply @ Hoke. 후가. 그래 mpぇ. 이 m/RCPT TO: 우세 r @ Atesaki-Domain. 그래 mpぇ. jp (그대로 릴레이)
  • 사용자가 없음과 같은 오류 응답

  • Nore ply @ Hoge. 후가. 그래 mpぇ. 이 m에게 "메일을 배달 할 수 없습니다."메일 (Bounce)을 반환하고 싶지만 실패합니다

  • 설정



    환경


  • CentOS Linux release 7.4.1708 (Core)
  • Postfix 2.10.1-6

  • 외부로부터의 메일 수신 허용



    /etc/postfix/main.cf
    -inet_interfaces = localhost
    +inet_interfaces = all
    

    정확히 외부 IP에서 연결을 허용합니다. firewalld/iptables/각종 클라우드 서비스의 방화벽(tcp:25)도 허가해 봅시다.

    처리할 도메인 추가



    /etc/postfix/main.cf
    -mydestination = $myhostname, localhost.$mydomain, localhost
    +mydestination = $myhostname, localhost.$mydomain, localhost, hoge.example.jp, hoge.fuga.example.com
    

    여기에 설명된 도메인으로 향하는 이메일만 수락합니다. 다른 경우에는 "Relay access denied"라고 거부합니다.
    no-reply@xxxxxx의 xxxxx 부분에서 사용할 예정인 것을 작성하십시오.

    no-reply로 /dev/null로 라우팅



    /etc/aliases
    +no-reply:   /dev/null
    

    편집 후 newaliases 명령을 실행하십시오.

    설정 반영


    postfix checkpostfix reload(아직 postfix를 움직이지 않았다면 systemctl start postfix하십시오)

    검증



    no-reply@ 사용하려는 도메인에 이메일을 보냅니다.
    Dec 18 06:16:17 yourhostname postfix/local[20106]: D959510D2F82: to=<[email protected]>, relay=local, delay=11, delays=11/0.02/0/0, dsn=2.0.0, status=sent (delivered to file: /dev/null)
    

    라는 바람에/dev/null 에 보내진 것을 알 수 있습니다.

    기타


  • 이 설정만으로는 문제는 없지만 만약을 위해 오픈 릴레이 서버가 되어 있는지 확인해 둡시다.
  • 이 설정만으로는 기존 계정에 대한 메일(ex. 로오 t @ x. 왓 x)에 메일이 전송됩니다. 여기에 스팸메일이 모여 버리는 일도 있으므로, 그것을 피하고 싶은 경우는 /etc/aliases (을)를 모두/dev/null로 향하는 등 해 봅시다. (cron이 실패했을 때의 메일도 사라져 버립니다만, 그 근처의 설정은 쓰지 않습니다)
  • 완전히 생략했지만 사용하는 도메인의 DNS 설정 (MX/A/SPF의 TXT 레코드)도 물론 필요합니다. 이 근처에는 많은 인터넷에 자료가 있습니다.
  • 좋은 웹페이지 즐겨찾기