ОпСоС предоставляет email-адрес «number@opsos.net» который форвардит входящие email-ы на телефон. Штука удобная для того чтобы всегда быть на связи. Но тупо форвардить всю почту на этот адрес не оптимально — в 160 символов SMS часто лезет куча ненужной инфы из MIME-хидеров, а кирилица сокращает полезный объём вдвое если вообще доходит. Толкового решения в сети не нашёл, решил сам соорудить правильный фильтр, может кому пригодится. Надо положить этот файл в $HOME/pager и в $HOME/.forward добавить «|$HOME/pager»
#!/usr/bin/perl
use Email::MIME;
use MIME::Lite;
use Lingua::Cyrillic::Translit::ICAO qw/ cyr2icao /;
local $/;
my $email_text = <STDIN>;
$email_text =~ s/^\s+$//mg;
my $email = Email::MIME->new($email_text);
my $subj = $email->header("Subject");
my $from = $email->header("Reply-To") || $email->header("From");
my $body = ($email->parts())[0]->body;
$n = 150 - length ($from);
my $data = cyr2icao($subj) . '/' . cyr2icao($body);
$data =~ s/^(.{0,$n}).*$/$1/s;
$msg = MIME::Lite->new(
From => $from,
To => 'number@opsos.net',
Subject => $data,
Data => ''
);
$msg->send;