конвертирование в кодировку base64 текста в тему - PullRequest
1 голос
/ 08 февраля 2012

Задайте для написания простого получателя procmail, который переадресует мне письмо, если в теме будет найден текст «Unprovisioned».

:0:
* ^Subject:.*Unprovisioned.*
! me@test.com

К сожалению, поле темы в почтовом сообщении отпочтовый сервер был в MIME-кодировке.

Форма: "=? Кодировка? Кодировка? Кодированный текст? =".

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

Вышеуказанная тема - кодировка utf-8, кодировка base64 стекст сложен в две строки.Поэтому было интересно, есть ли какие-нибудь механизмы / скрипты / утилиты, чтобы проанализировать это и преобразовать в строковый формат, чтобы я мог применить свой фильтр procmail.Конечно, я могу написать Perl-скрипт для анализа этого и выполнения необходимых проверок, но стараюсь избегать его, если это возможно.

1 Ответ

9 голосов
/ 08 февраля 2012

Encode :: MIME :: Header , который поставляется с Perl, доступ напрямую через Encode:

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