sub first_part{
my ($ent) = @_;
return first_part $ent->parts(0) if $ent->parts;
- $ent->bodyhandle->as_string
+ stringify [$ent->bodyhandle->as_lines]
}
sub process_message {
$parser->decode_bodies(0);
$parser->output_to_core(1);
my $in = $parser->parse(\*STDIN);
+ debug 'Received mail from ', $in->get('From');
my ($tmpl, %params);
try {
} catch {
($tmpl, %params) = (error => message => $_)
};
+ debug "Result is $tmpl, GnuPG said:\n", $params{message};
$params{plaintext} = first_part $params{decrypted} if $params{decrypted};
my $email_unencrypted = $email->dup;
my $mg = mg always_trust => 1;
my $encrypt_failed = $mg->mime_signencrypt($email, $in->get('From') =~ /<(.*)>/);
- debug 'Could not encrypt message, sending unencrypted. GnuPG said ', stringify $mg->{last_message} if $encrypt_failed;
+ debug 'Could not encrypt message, sending unencrypted. GnuPG said:', "\n", stringify $mg->{last_message} if $encrypt_failed;
sendmail $encrypt_failed ? $email_unencrypted : $email
}