중계를 위해 로컬 메일을 보내지 마세요.

중계를 위해 로컬 메일을 보내지 마세요.

Linux 서버의 Smart Relay로 로컬 메일을 보내는 데 문제가 있습니다. cron 작업이 실행될 때마다 이메일이 루트로 전송됩니다. /var/spool/mail/root에서 로컬로 전달되는 대신 중계기로 전송됩니다.

다음은 루트로 전송된 테스트 이메일의 출력입니다.

echo test | mailx -v root
root... Connecting to smtpp.example.com. via relay...
220 EXCHP12.example.com Microsoft ESMTP MAIL Service ready at Thu, 12 Oct 2023 15:50:51 +0200
>>> EHLO vm.example.com
250-EXCHP12.example.com Hello [x.x.x.x]
250-SIZE 37748736
250-PIPELINING
250-DSN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-BINARYMIME
250 CHUNKING
>>> MAIL From:<[email protected]> SIZE=185
250 2.1.0 Sender OK
>>> RCPT To:<[email protected]>
>>> DATA
250 2.1.5 Recipient OK
354 Start mail input; end with <CRLF>.<CRLF>
>>> .
250 2.6.0 <[email protected]> [InternalId=167383465460805, Hostname=EXCHP22.example.com] 1730 bytes in 0.134, 12.593 KB/sec Queued mail for delivery
root... Sent (<[email protected]> [InternalId=167383465460805, Hostname=EXCHP22.example.com] 1730 bytes in 0.134, 12.593 KB/sec Queued mail for delivery)
Closing connection to smtpp.example.com.
>>> QUIT
221 2.0.0 Service closing transmission channel

출력에 따르면 서버의 기본 mta는 sendmail.sendmail 이지만 alternatives --listsendmail 서비스가 서버에서 실행되고 있지 않습니다.

sendmail을 사용하여 이메일을 테스트할 때. /var/spool/mail/root에 올바르게 배치되었습니다.

echo 'test' | sendmail -Am -d60.5 -v root
map_lookup(dequote, root, %0=root) => NOT FOUND (0)
map_lookup(dequote, root, %0=root) => NOT FOUND (0)
root... Connecting to local...
root... Sent

mailx가 릴레이를 위해 루트 메일을 보내는 이유는 무엇입니까?

Smart Relay가 로컬 이메일을 전달하는 것을 방지하는 방법.

관련 정보