Remove some useless debug information
[app-edwardng.git] / lib / App / EdwardNG.pm
index 256cf7d670d7031697918d079edeca7cc0805f8c..2d81020ea24ca6a287929f1b683cf3dc0844be3c 100644 (file)
@@ -36,25 +36,17 @@ sub first_part{
 }
 
 sub process_message {
-       my ($msg) = @_;
+       my ($in) = @_;
+       my $msg;
        my $parser = MIME::Parser->new;
        $parser->decode_bodies(0);
        $parser->output_to_core(1);
 
-       if (ref $msg eq 'MIME::Entity') {
-               debug 'Got MIME::Entity';
-       } elsif (ref $msg eq 'IO') {
-               debug 'Parsing from filehandle';
-               $msg = $parser->parse($msg)
-       } elsif (ref $msg eq 'SCALAR') {
-               debug 'Parsing from string';
-               $msg = $parser->parse_data($$msg)
-       } elsif (!ref $msg) {
-               debug "Parsing from file $msg";
-               $msg = $parser->parse_open($msg)
-       } else {
-               die "Don't know how to parse $msg"
-       }
+       $msg =                      $in   if     ref $in eq 'MIME::Entity';
+       $msg = $parser->parse      ($in)  if     ref $in eq 'IO';
+       $msg = $parser->parse_data ($in)  if     ref $in eq 'SCALAR';
+       $msg = $parser->parse_open ($in)  unless ref $in;
+       die "Don't know how to parse $in" unless $msg;
 
        if ($msg->mime_type ne 'multipart/signed' && $msg->mime_type ne 'multipart/encrypted') {
                # PGP/Inline requires decoding
@@ -129,9 +121,11 @@ sub run {
                Subject => 'Re: ' . $in->get('Subject'),
                Data    => $data);
 
+       my $email_unencrypted = $email->dup;
        my $mg = mg always_trust => 1;
-       $mg->mime_signencrypt($email, $in->get('From') =~ /<(.*)>/) and debug 'Could not encrypt message. GnuPG said ', stringify $mg->{last_message};
-       sendmail $email
+       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;
+       sendmail $encrypt_failed ? $email_unencrypted : $email
 }
 
 1;
This page took 0.010293 seconds and 4 git commands to generate.