На сервере почта для локальных пользователей собиралась в стандартные файл mailbox (в директории /var/mail). Понадобилось перенаправить это по почте в виде набора писем.
Написал скрипт - привожу его ниже - может кому пригодится.
Но вопрос по прежнему открытый: существует ли какая-то штатная программа?
#!/usr/bin/perl -W
use strict;
sub save_mail();
my $send_to = 'mail@example.com';
my @lines;
my $to;
while (my $line = <>)
{
chomp;
if ($line =~ m/^From /)
{
if (@lines > 0)
{
pop @lines;
save_mail();
}
@lines = ();
$to = undef;
}
else
{
if (!defined $to and $line =~ m/^To:\s*(.*?)\s*$/)
{
$to = $1;
push @lines, "To: $send_to";
}
else
{
$line =~ s/^>From /From /;
push @lines, $line;
}
}
}
if (@lines > 0)
{
pop @lines;
save_mail();
}
sub save_mail()
{
my $fd;
open $fd, "|sendmail $send_to";
print $fd join("\n", @lines), ".\n";
close $fd;
}