ConvertFrom-MimeString

MVP по Exchange, и просто хорошему человеку Павлу Нагаеву (кстати рекомендую подписаться на его блог) понадобилось в скрипте привести заголовок сообщений из MIME в читабельный вид. Дело в том что заголовки сообщений на русском языке хранятся в виде подобном этому:

=?windows-1251?B?x+Dq4Ocg8uXr5fTu7eA=?=

Поэтому родилась вот такая вот функция:

function ConvertFrom-MimeString ([string[]]$Strings=@()) { foreach ($Text in ($Strings + @($input))) { if ($Text -match "=\?(?<Encoding>.+?)\?B\?(?<Text>.+)\?=") { Write-Debug "Converting from $($matches.Encoding)..." $Bytes = [convert]::FromBase64String($matches.Text) [System.Text.Encoding]::GetEncoding($matches.Encoding).getString($Bytes) } } }

Можно передать ей строку как аргумент, а можно и из конвейера:

mime

Опубликовано в Learn, PowerShell, Practice, Scripting. Комментарии к записи ConvertFrom-MimeString отключены
%d такие блоггеры, как: