sendmail이 클라우드로 전송되지 않음(로컬 메일은 유효함)

sendmail이 클라우드로 전송되지 않음(로컬 메일은 유효함)

저는 Perl 모듈(Mail::Sendmail)을 사용하여 sendmail물건을 보내고 있습니다. 작동하지 않았지만 오류가 발생하지 않았습니다.

그래서 지금은 의심스럽습니다 sendmail. 나는 시도했다:

telnet 127.0.0.1 25
mail from:[email protected]
rcpt to:[email protected]
data
 subject: subject line
 sgiopjsdoigjsd
 sdgsdg

 sdgfsdg
 .
quit

"메일 배달이 승인되었습니다"라는 메시지가 나타납니다. 이는 예상되는 현상입니다. 몇 분 정도 기다렸는데 받은 편지함에 아무것도 없었습니다. 그래서 살펴보니 /var/log/maillog.3제가 방금 한 일과는 아무런 관련이 없었습니다.

이 작업을 수행하여 로컬로 다른 사용자에게 메일을 보내려고 시도했는데 작동했습니다. 그러나 로그에는 아직 아무것도 없습니다(이로 인해 실제 로그는 다른 곳에 있다고 믿게 됩니다).mail [email protected]

합산:

  • 클라우드로 이메일을 보낼 수 없지만 로컬에서는 작동합니다.
  • sendmail 로그 파일의 위치를 ​​알 수 없습니다.

답변1

솔직히 이것은 로컬이 아닌 이메일에 대해 구성되지 않았거나 잘못 구성된 것처럼 sendmail.cf 문제처럼 들립니다.

이 파일은 /var/log/maillog.3거의 확실하게 "오래된" 로그 파일이므로 새로운 내용이 기록되지 않습니다. 사용 중인 Linux 배포판(BSD 또는 Unix)은 언급하지 않았지만 현재 로그 파일(sendmail이 현재 첨부되어 있음)의 이름은 " 존재하지 않는 /var/log/maillog 경우 sendmail을 중지했다가 시작해 볼 수 있습니다. /var/log/maillog만약 존재한다면" . /var/log/maillog 또는 기타 파일을 만듭니다.

디버깅: 당신이 발견한 것처럼, 오래된 트릭은 매우 유용하지만, telnet localhost 25오래된 BSD 프로그램의 "-v" 옵션 Mail과 같은 것을 사용할 수 있습니다. 노력하다http://heirloom.sourceforge.net/mailx.html소스로. 이를 사용하면 SMTP 세션이 어떻게 보이는지 확인할 수 있으며 이는 도움이 될 수 있습니다.

정말로 절박하다면 디버그 모드에서 sendmail을 실행할 수 있습니다:

sendmail -bt -C /whatever/sendmail.cf

이메일 주소를 입력하고 sendmail이 그 주소로 무엇을 하는지 볼 수 있습니다.

답변2

다른 MTA(예: exim4)를 사용하고 있습니까?
한번 보세요 /var/log/exim4/*, 그럴 수도 있습니다.

관련 정보