my ($mail, $charset) = @_;
my $output;
- # encode subject/body correctly
- my $chrs = charset2chrs($charset) or return(undef);
- my $subj = encode($charset, $mail->{subj});
- my $body = encode($charset, $mail->{body});
+ # encode all strings correctly
+ my $chrs = charset2chrs($charset) or return(undef);
+ my $fname = encode($charset, $mail->{fname});
+ my $tname = encode($charset, $mail->{tname});
+ my $subj = encode($charset, $mail->{subj});
+ my $body = encode($charset, $mail->{body});
$body =~ s/\n/\x0D/g;
# generate kludge lines
0, # Attribute
0, # Cost
$datetime, # Date/Time String
- $mail->{tname}, $mail->{fname}, # From/To
+ $tname, $fname, # From/To
$subj, $output # Subject/Body
);
return($pack);
# find FROM and TO addresses
if(!$mail{area}) {
- # --> NETMAIL: use INTL/FMPT/TOPT
+ # --> NETMAIL: use INTL/FMPT/TOPT (fallback to packet headers)
if($intl && $intl=~/^(\d+):(\d+)\/(\d+) (\d+):(\d+)\/(\d+)$/) {
if($fmpt) {
$mail{from} = "$4:$5/$6.$fmpt";