Ich habe gerade mal mit Mail::Audit herumgespielt, und der folgende, schnell zusammengehackte Code funktioniert zumindest fuer einfache nicht-MIME- und MIME-Mails:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
use Mail::Audit;
use MIME::Entity;
my $mail = Mail::Audit->new;
my $originalto = $mail->to();
# Das soll immer etwas sinnvolles liefern? ...
my ($newto) = split (/@/, $originalto, 2);
if ($mail->is_mime) {
# Erstelle neuen MIME-Part mit der Adresse
my $newpart = MIME::Entity->build(
Type => 'text/plain',
Encoding => 'quoted-printable',
Data => [ $newto ],
) or die "kann keinen neuen MIME-Part anlegen: $!";
# Fuege den neuen MIME-Part zur Mail hinzu
$mail->add_part ($newpart, 0) or die "kann MIME-Part nicht hinzufuegen: $!";
} else {
unshift @{$mail->body}, "$newto\n", "\n";
}
print @{$mail->body()}, "\n";
# $mail->resend('root@localhost');