Sendmail이 원격 SMTP 서버를 사용하도록 할 수 없습니다.

Sendmail이 원격 SMTP 서버를 사용하도록 할 수 없습니다.

원격 SMTP 서버를 사용하고 인증하기 위해 sendmail을 설정하는 방법에 대한 다음 가이드를 따랐습니다.https://www.smtp2go.com/docs/sendmail/

그러나 sendmail에서는 이메일을 보내는 것으로 표시되지만 디버깅에서는 원격 호스트가 아닌 로컬 호스트에 연결되는 것으로 표시됩니다.

이메일을 보내려면 다음 명령을 실행합니다.

sendmail -X sendmail_log [email protected] [email protected] < /tmp/email.txt

내 호스트 "host1.com"은 "의 요청만 허용합니다.[이메일 보호됨]'.

이메일.txt:

Subject: Terminal Email Send

Email Content line 1
Email Content line 2

로그 파일에서 localhost가 사용되는 위치는 다음과 같습니다.

07460 <<< Subject: Terminal Email Send
07460 <<<
07460 <<< Email Content line 1
07460 <<< Email Content line 2
07460 <<< [EOF]
07460 === CONNECT [127.0.0.1]

답변1

Sendmail-8.12+: 루트 uid가 설정되지 않음 설치 => 127.0.0.1:25를 통해 전송됨

sendmail-8.12 이전에는 일반적으로 루트 uid를 설정하기 위한 프로그램으로 "Sendmail by sendmail.org"가 설치되었습니다. 이로 인해 끝없는 보안 문제가 발생했습니다. 이러한 보안 위험을 피하기 위해 Sendmail-8.12는 루트로 실행되고 수신 대기하는 sendmail 데몬에 메시지를 전달합니다 127.0.0.1:25.

구성을 테스트하려면 루트로 test 명령을 실행하고 -Am명령줄 옵션을 sendmail에 추가하면 됩니다.

submit.cfSendmail은 기본적으로 구성 파일을 사용 하고 에 메시지를 보냅니다 127.0.0.1:25. 특정 명령줄 옵션( 포함 )으로 인해 sendmail은 구성 파일을 -Am사용 하지만 (일반적으로) 올바르게 실행하려면 루트 권한이 필요합니다.sendmail.cf

https://www.sendmail.com/sm/open_source/security/secure-install/
http://linux.die.net/man/8/sendmail.sendmail

관련 정보