문제

웹 응용 프로그램은 이메일을 보냅니다. 우리는 많은 사용자가 있고, 많은 바운스를 얻습니다. 예를 들어, 사용자 변경 회사와 그의 회사 이메일은 더 이상 유효하지 않습니다.

바운스를 찾으려면 로그 파서로 SMTP 로그 파일을 구문 분석합니다. 로그는 Microsoft SMTP 서버에서 나옵니다.

일부 바운스는 훌륭합니다 550+#5.1.0+Address+rejected+user@domain.com. 거기 있습니다 user@domain.com 바운스에.

그러나 일부는 오류 메시지에 이메일이 없습니다. 550+No+such+recipient.

로그를 구문 분석하는 간단한 루비 스크립트 (로그 파서 사용)를 만들어 550+No+such+recipient.

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

누구든지 SMTP 로그를 구문 분석하고 바운스 및 이메일을 찾는 도구를 알고 있습니까?

도움이 되었습니까?

해결책

이것 기사 정확히 당신이 찾고있는 것입니다. 그것은 훌륭한 도구를 기반으로합니다 로그 파서.

Log Parser는 로그 파일, XML 파일 및 CSV 파일과 같은 텍스트 기반 데이터에 대한 범용 쿼리 액세스 및 이벤트 로그, 레지스트리와 같은 Windows® 운영 체제의 주요 데이터 소스에 대한 범용 쿼리 액세스를 제공하는 강력하고 다재다능한 도구입니다. 파일 시스템 및 Active Directory®. 로그 파서에게 필요한 정보와 원하는 정보를 알려줍니다. 쿼리 결과는 텍스트 기반 출력으로 사용자 정의 형성 될 수 있거나 SQL, Syslog 또는 차트와 같은보다 전문적인 대상으로 지속될 수 있습니다. 대부분의 소프트웨어는 제한된 수의 특정 작업을 수행하도록 설계되었습니다. 로그 파서는 다릅니다 ... 사용할 수있는 방법의 수는 사용자의 요구와 상상력에 의해서만 제한됩니다. 세계는 로그 파서가있는 데이터베이스입니다.

다른 팁

내가 볼 수있는 한 로그 파일 분석은 SMTP 세션 수준에서 거부되는 메일을 감지하는 데 실제로 유용합니다. 원격 MTA가 배송 메시지를 수락 한 후에 발생하는 바운스는 어떻습니까?

우리는 다음 세트를 사용하여 탐지합니다 분류 원격 MTA로 전달한 후 모든 바운스.

  1. 모든 발신 메일은 주어집니다 고유 한 반환 경로 헤더 디코딩되면 수신자 이메일 주소와 특정 우편물을 식별합니다.

  2. an 아파치 제임스 메일을받는 서버는 반환 된 경로 주소로 반환됩니다.

  3. Java로 개발되고 Apache James 내에서 실행되는 사용자 정의 메일 릿은 주소를 해독하는 Apache James에서 다음으로 Boogietools 바운스 스튜디오 바운스 유형 분류의 경우 결과를 데이터베이스에 유지합니다.

그것은 매우 잘 작동합니다. 우리는 스팸 거부, 사무실 대답 등과 같은 매우 세분화 된 바운스 유형으로 더 분류되는 영구 하드 바운스 및 과도 소프트 바운스를 감지 할 수 있습니다.

바운스를 시도하고 식별하기 위해 로그를 구문 분석하고 싶지 않습니다. 로그를 보면 잘못된 네거티브와 오 탐지가 있습니다.

바운스는 전달한 서버에서 다운 스트림으로 생성 될 수 있습니다. 나가는 서버 로그에서 성공적인 배송처럼 보일 것입니다.

들어오는 로그에서 바운스에 대한 순진한 패턴 일치 (널 발신자에서 동사 주소 중 하나까지)는 부정확합니다. 그 이유는 몇 가지가 있습니다.

  • 실제 고장 결합과 혼합 된 지연 경고가 있습니다.
  • 대부분의 사무소 및 유사한 자동 응답자는 NULL 발신자를 사용하여 Battlin-Bots 증후군을 방지합니다.
  • 마찬가지로, 챌린지-응답 시스템 (예 : * spit * boxbe.com)은 널 발신자를 사용하는 경향이 있습니다.
  • 수신자 당 지속적 인 경우 Verp-Ed 발신자 주소는 스패머에 의해 수확되어 스팸 대상 또는 후방 산란으로 돌아옵니다.

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

나는 logparser를 좋아합니다. 매우 구체적이거나 사용자 정의 또는 정규 표현식을 사용하기 위해 구문 분석해야 할 때 Biterscripting을 사용합니다. 실제로 시작했던 샘플 스크립트가 있습니다. 하나는 있습니다 http://www.biterscripting.com/download/ss_weblogparser.txt.

이 게시물에 바운스 카운터 프로그램을 기반으로했는데, 나중에 SMTP 로그가 순차적으로 순서가 아니기 때문에이 방법이 실제로 대량 발신자에게는 작동하지 않는다는 것을 알기 위해서만 알 수 있습니다. 내 블로그 게시물에 더 많은 정보가 있습니다. SMTP 로그에서 이메일 바운스 감지 및 불가능한 이유.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top