2012-02-08 8 views
1

제목에 "Unprovisioned"텍스트가있는 경우 메일을 전달하는 간단한 procmail recipie를 작성하십시오.base64로 인코딩 된 메일을 텍스트로 변환

:0: 
* ^Subject:.*Unprovisioned.* 
! [email protected] 

불행히도 메일 서버에서 오는 메일 메시지의 제목 필드는 MIME 인코딩 된 구문으로되어 있습니다.

양식은 "=? charset? encoding? encoded text? ="입니다.

Subject: =?UTF-8?B?QURWSVNPUlk6IEJNRFMgMTg0NSwgTkVXIFlPUksgLSBVbnByb3Zpc2lvbmVkIENvbm4gQQ==?= 
    =?UTF-8?B?bGVydA==?= 

상기 주제는 UTF-8 캐릭터 개의 접는 선 텍스트 Base64 인코딩된다. 그래서 거기에 어떤 메커니즘/스크립트/유틸리티를이 구문 분석하고 문자열 형식으로 변환 할 수 있는지 궁금해서 내 procmail 필터를 적용 할 수 있습니다. 물론 펄 스 스크립트를 작성하여 필요한 유효성 검사를 수행하고 가능한 경우이를 피하려고 시도합니다.

use Encode qw(encode decode); 
my $header_text = decode('MIME-Header', $header); 
+1

당신이 포장 헤더와 같은 에지의 경우와 난관 ([이메일 및 MIME 까다로운입니다!] 히트 경우 (HTTP : // www가 인코딩을 통해 직접 액세스 펄 – daxim

+0

접두어로, 뒤 따르는'. *'은 중복됩니다. – tripleee

답변

9

Encode::MIME::Header

, 이는 선박, .youtube.com/user/yapcasia # p/u/0/JENdgiAPD6c)), 메시지 구문 분석을 위해 [Courriel] (http://p3rl.org/Courriel)로 전환하는 것을 고려하십시오.