다른 서버에서 이메일을 보낼 때 "릴레이 액세스가 거부되었습니다"

다른 서버에서 이메일을 보낼 때 "릴레이 액세스가 거부되었습니다"

2008년에 나는 로컬 자동화 컨트롤러가 제한 없이 이메일 알람을 보낼 수 있도록 간단한 메일 서버(ubuntu 8.04 LTS 실행)를 설정했습니다. 나는 gmx를 사용했지만 계정에 문제를 나타내는 수많은 경보가 있으면 해당 gmx가 해당 계정을 차단한다는 것을 발견했습니다. postfix를 설정하고 작동시켰습니다. 그런 다음 이러한 유형의 컨트롤러가 원격 사이트에서 경보를 보낼 수 있도록 허용해야 했습니다. 고정 IP 주소에 방화벽 규칙을 설정했는데 모든 것이 정상입니다.

이제 이전과 똑같은 작업을 수행하면서 ubuntu 12.04를 실행하는 새 서버를 설치했습니다. 로컬 컨트롤러는 서버에 연결하여 이메일을 정상적으로 보낼 수 있습니다. 그러나 원격 컨트롤러가 연결을 시도하면 /var/log/mail.log에 다음이 표시됩니다.

8월 23일 16:21:24 localhost postfix/smtpd[6709]: NOQUEUE: 거부: 알 수 없는[xx.xx.xx.xx]의 RCPT: 554 5.7.1: 릴레이 액세스가 거부되었습니다. 에서= 으로= proto=ESMTP helo=

특정 줄을 편집하면 /etc/postfix/main.cf개별 원격 IP 주소가 연결되어 메일을 보낼 수 있다는 것을 알았습니다.

mynetworks = 127.0.0.0/8,10.102.0.0/16,xx.xx.xx.xx/32

여기서 xx.xx.xx.xx는 원격 위치의 고정 IP 주소입니다. 이전 서버와 새 서버의 구성 파일을 비교했는데 기본적으로 동일합니다. 이전처럼 작동하게 하는 방법을 아는 사람이 있나요?

답변1

"기본적으로 동일"은 "동일"과 동일하지 않습니다. :)

승인된 IP 주소를 다음에 나열해야 합니다.mynetworks 그리고Postfix에게 권한을 부여하라고 지시하세요:

smtpd_recipient_restrictions =
        permit_mynetworks,

답변2

파일에서 postfix를 확인하세요 virtual.

/etc/postfix/virtual:
#            virtual-alias.domain     anything (right-hand content does not matter)
#            [email protected]  postmaster
#            [email protected]       address1
#            [email protected]       address2, address3
#
#        The  virtual-alias.domain anything entry is required for a
#        virtual alias domain. Without this entry, mail is rejected
#        with  "relay  access  denied", or bounces with "mail loops
#        back to myself".

답변3

따라서 문제를 해결하려면 인증서와 함께 SASL을 올바르게 설정해야 했습니다. 나는 이 가이드를 거의 정확하게 따랐고 모든 것이 작동하도록 했습니다.

https://help.ubuntu.com/12.04/serverguide/postfix.html.

나를 버린 것은 8.04에서는 필요하지 않았다는 것입니다. 분명히 postfix의 보안 업그레이드입니다.

관련 정보