2008-10-15 2 views
4

웹 응용 프로그램에서 전자 메일을 보냅니다. 우리에게는 많은 사용자가 있으며, 많은 반송을합니다. 예를 들어 사용자가 회사를 변경하면 그의 회사 전자 메일은 더 이상 유효하지 않습니다.반송 메일을 찾는 SMTP 로그를 구문 분석하는 도구

반송을 찾으려면 SMTP 로그 파일을 로그 파서로 구문 분석하십시오. 로그는 Microsoft SMTP 서버에서 가져옵니다.

일부 수신 거부는 550+#[email protected]처럼 위대합니다. 바운스에 [email protected]이 있습니다.

그러나 일부 사용자는 550+No+such+recipient과 같은 오류 메시지가 전자 메일을 보내지 않습니다.

로그를 구문 분석하는 간단한 루비 스크립트 (로그 파서 사용)를 작성하여 550+No+such+recipient과 같은 메일을 찾았습니다.

나는 그것을하는 도구를 찾을 수 없다는 것에 놀랐다. 로그 분석을 위해 Zabbix 및 Splunk와 같은 도구를 찾았지 만 간단한 작업에 지나치게 맞지 않는 것처럼 보입니다.

누구나 SMTP 로그를 구문 분석하여 반송 및 전자 메일을 발견하는 도구를 알고 있습니까?

+0

어떤 SMTP 서버. 일관된 형식이 없습니다. – jj33

+0

죄송합니다. 관련성이 있는지 모르겠습니다. Microsoft SMTP 서버. 게시물을 편집했습니다. –

답변

5

article은 찾고있는 것과 정확히 일치합니다. 위대한 도구 log parser을 기반으로합니다.

로그 파서 잘 윈도우 키 데이터 소스로 로, 같은 로그 파일, XML 파일 및 CSV 파일과 같은 텍스트 기반 데이터에 대한 보편적 인 쿼리 액세스를 제공하는 강력하고 다양한 도구입니다 이벤트 로그, 레지스트리, 시스템 및 Active Directory®와 같은 운영 체제. 당신은 이 필요한 정보와 처리 방법을 로그 파서에 알려주십시오. 쿼리의 결과는 텍스트 기반 출력에서 ​​사용자 지정 형식이 될 수 있습니다. 또는 특수 대상 (예 : SQL, SYSLOG 또는 )으로 차트를 유지할 수 있습니다. 대부분의 소프트웨어는 특정 작업을 수행하여 제한된 수의 을 수행합니다. 로그 파서는 다른 ... 수있는 방법은 사용할 수있는 사용자의 및 상상력에 의해서만 제한됩니다. 로그 파서가있는 세계가 데이터베이스입니다.

+0

감사합니다. 로그 파일에서 반송을 구문 분석하는 유일한 사람이 아니라는 사실을 확인하는 것이 좋습니다. 나는 루비 스크립트 (로그 파서를 사용하여 로그를 파싱한다)와 비슷한 것을했다. 고유 한 리턴 경로가있는 –

0

나는 logParser를 좋아합니다. 매우 특정한 또는 사용자 지정 또는 정규식을 사용하여 구문 분석해야 할 때 biterScripting을 사용합니다. 그들은 실제로 시작하기 위해 사용했던 샘플 스크립트를 가지고 있습니다. 하나는 http://www.biterscripting.com/Download/SS_WebLogParser.txt입니다.

0

나는 SMTP 로그가 순차적 순서가 아니기 때문에 나중에이 방법이 대용량 보낸 사람에게 실제로 작동하지 않는다는 것을 알아 내기 위해이 게시물에 대한 바운스 카운터 프로그램을 기반으로합니다. 내 블로그 게시물에 대한 자세한 내용은 Email Bounce Detection in SMTP Logs and Why It Is Impossible입니다.

6

로그 파일 분석은 실제로 SMTP 세션 수준에서 거부 된 메일을 탐지하는 데 유용합니다. 원격 MTA가 배달을 위해 메시지를 수락했지만 배달을 실패한 후에 발생하는 반송은 어떻게됩니까?

다음 설정을 사용하여 을 감지하고을 원격 MTA에 배달 한 후에 분류합니다.

  1. 모든 나가는 메일은, 디코딩 할 때받는 사람 이메일 주소와 특정 메일 링을 식별하는 unique return-path header이 제공됩니다.

  2. 메일을 수신하는 서버 인 Apache James은 반송 경로 주소로 반송됩니다.

  3. Java로 개발되고 주소를 디코딩하는 Apache James 내에서 실행되는 사용자 정의 mailet은 이메일 텍스트를 반송 유형 분류 용 boogietools bounce studio으로 전송 한 다음 결과를 데이터베이스에 보관합니다.

아주 잘 작동합니다. 우리는 영구적 인 하드 반송 및 일시적 소프트 반송을 감지 할 수 있으며 스팸 거부, 부재 중 응답 등과 같이 매우 세분화 된 반송 유형으로 더 분류됩니다.

+0

은 여기에서 중요한 부분입니다. –

0

반송을 식별하고 로그를 분석하지 않으려 고합니다 . 로그를 보는 경우 위양성과 위양성을 모두 갖게됩니다.

전송할 서버의 다운 스트림에서 반송이 생성 될 수 있습니다. 그들은 나가는 서버 로그에서 성공적인 배달처럼 보일 것입니다.

들어오는 로그 (null 보낸 사람에서 VERP로 처리 한 주소 중 하나)로 반송되는 순진한 패턴 일치는 부정확합니다. 그 이유는 다음과 같습니다.

  • 실제 경고 실패와 함께 지연 경고가 혼합됩니다.
  • 대부분의 부재 중 및 유사한 자동 응답기는 battlin-bots 증후군을 예방하기 위해 null 보낸 사람을 사용합니다.
  • 마찬가지로 challenge-response 시스템 (예 : * spit * boxbe.com)은 null 보낸 사람을 사용하는 경향이 있습니다.
  • VERP-ed 보낸 사람 주소가받는 사람마다 지속되는 경우 스패머가 수확하여 스팸 대상이나 후방 산란으로 되돌아옵니다.

슬프게도, 신뢰할 수있는 유일한 방법은 바운스 메시지 자체를 검사하는 것입니다. 대부분은 RFC1894에 따라 "보고서/배달 상태"MIME 부분을 가지며, 선택한 언어에 따라 다른 바운스 형식을 돕는 라이브러리 또는 모듈이있을 수 있습니다. 필자가 직접 경험 한 유일한 것은 Perl Mail :: DeliveryStatus :: BounceParser 모듈입니다.

관련 문제