Dmitry E. Oboukhov wrote:
TSS> На перле давным давно я пользовался модулем
TSS> Mail::Sender, переписывал его под заказ для
TSS> кастомного использования :)
TSS> сейчас он есть в дистрибутиве: libmail-sender-perl
TSS> - Perl Module for sending mails with attachments
TSS> там же и примеры для использования.
а кстати, MIME::Lite не очень дружит с utf8 и сабжект надо кодировать
вручную. но кода блин на его базе написана тьма, лениво переписывать.
что там у Mail::Sender с юникодом и кодированием заголовков?
О, точно, вот кусок печати заголовка.
sub print_hdr {
my ($s, $hdr, $str, $charset) = @_;
return if !defined $str or $str eq '';
$str =~ s/[\x0D\x0A\s]+$//;
if ($charset && $str =~ /[^[:ascii:]]/) {
$str = encode_qp($str);
$str =~ s/=\r?\n$//;
$str = "=?$charset?Q?" . $str . "?=";
}
$str =~ s/(?:\x0D\x0A?|\x0A)/\x0D\x0A/sg; # \n or \r => \r\n
$str =~ s/\x0D\x0A([^\t])/\x0D\x0A\t$1/sg;
if (length($str)+length($hdr) > 997) { # header too long, max
1000 chars
$str =~ s/(.{1,997}[;,])\s+/$1\x0D\x0A\t/g;
}
print $s "$hdr: $str\x0D\x0A";
}
--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org