sendmail이 "MAIL/EXPN/VRFY/ETRN not sent" 메시지를 기록하는 것을 방지하는 방법은 무엇입니까?

sendmail이 "MAIL/EXPN/VRFY/ETRN not sent" 메시지를 기록하는 것을 방지하는 방법은 무엇입니까?

F5 로드 밸런서 뒤에 sendmail 서버가 있습니다. 로드 밸런서는 각 메일 서버에 대한 연결을 지속적으로 열고 닫아 응답하는지 확인합니다. 이는 시스템 로그 파일이 다음과 같은 줄로 채워져 있음을 의미합니다.

Sep 19 11:13:29 mailserver-X sm-mta[12643]: w8JGDTmi012643: lb5a [10.11.12.13]가 MTA에 연결하는 동안 MAIL/EXPN/VRFY/ETRN을 발행하지 않았습니다.

Sep 19 11:13:29 mailserver-X sm-mta[12819]: w8JGDSLk0012819: lb5b [10.11.12.14]가 MTA에 연결하는 동안 MAIL/EXPN/VRFY/ETRN을 발행하지 않았습니다.

sendmail이 이를 자동으로 무시하도록 하는 방법이 있습니까?

현재 sendmail-8.14.5를 실행 중이지만 이 문제를 수정해야 할 경우 업데이트가 이루어질 예정입니다.

답변1

로드 밸런서는 올바른 작동 가능성을 확인하는 데 충분하지만 프로토콜 세부 정보를 무시하거나 유용한 작업을 수행하지 않는 경우가 많은 스크립트 프로토콜 테스트가 거의 없는 경우가 많습니다. 이것이 바로 sendmail이 불평하는 것입니다. SMTP 기본값그냥 보내세요 HELO그런 다음 QUIT(각각의 응답 코드를 확인하십시오).

이는 LogLevel > 5 메시지이며 기본값은 LogLevel 9이므로 다음 .cf에 추가한 후 다시 생성 할 수 있습니다 .mc.

define(`confLOG_level',`5')

-O LogLevel=5또는 sendmail 명령줄에 추가하여 임시로 재정의하세요. 단점은 레벨 6-9의 다른 많은(~140개) 메시지도 표시되지 않는다는 것입니다.

이 특정 메시지가 억제되는 문서화된 시나리오는 단 하나뿐입니다. 즉, 구성(액세스 맵 또는 TCP 래퍼)을 통해 연결이 거부되는 경우입니다. 그러나 제가 생각할 수 있는 모든 시나리오에는 거부 오류 기록이 포함됩니다... (더 나쁜 경우 일부는 Greeting에 오류를 반환할 수 있으며 HELO이로 인해 F5가 서비스를 다운으로 표시하게 됩니다).

표준에는 구성 가능한 항목이 없지만 SMTP_monitor해결 방법으로 설정할 수 있습니다.대체 SMTP 모니터링 스크립트, F5의 devcentral에 대한 이 예(소스 코드를 보려면 등록이 필요함)는 사용 방법을 보여줍니다.예상되는:

https://devcentral.f5.com/codeshare/smtp-scripted-monitor

예제에서는 각 프로브에 대해 이메일을 보내는데, 여러분은 거의 확실히 원하지 않을 것입니다 ;-) 대신 다음과 같이 시도해 보십시오:

expect "220"                 ;# must wait for SMTP banner 
send "HELO mydomain.com\r\n" ;# EHLO is better
expect "250"
send "VRFY postmaster\r\n"   ;# some non-NOP command
expect "250"
send "QUIT\r\n"              ;# clean exit
expect "221"

그리고 필요에 따라 조정하세요. sendmail이 까다롭다면( // PrivacyOptions차단할 수도 있음 ) VRFY예상 코드를 수정하거나 then을 사용하십시오 .EXPNETRNMAILRSET

 ....
 send "MAIL from:<[email protected]>\r\n"  
 expect "250"
 send "RSET\r\n"
 expect "250"
 send "QUIT\r\n"
 expect "221"

관련 정보