Send unencrypted replies if encryption fails
[app-edwardng.git] / lib / App / EdwardNG.pm
index 6ccc05942f977b6e118406d2e70877fa1c1d4989..08b50eb827865e4b1e155cf2cee6f414dd605703 100644 (file)
@@ -121,18 +121,19 @@ sub run {
        $params{plaintext} = first_part $params{decrypted} if $params{decrypted};
 
        my $tt = Template->new(INCLUDE_PATH => 'tmpl/en');
-       my ($data, $subject);
+       my $data;
        $tt->process($tmpl, \%params, \$data);
-       $tt->process('subject', undef, \$subject);
        my $email = MIME::Entity->build(
                From    => $ENV{EDWARDNG_FROM},
                To      => $in->get('From'),
-               Subject => $subject,
+               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;
@@ -234,7 +235,7 @@ Marius Gavrilescu, E<lt>marius@ieval.roE<gt>
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (C) 2014 by Marius Gavrilescu
+Copyright (C) 2014 by FundaČ›ia Ceata
 
 This library is free software; you can redistribute it and/or modify
 it under the same terms as Perl itself, either Perl version 5.18.2 or,
This page took 0.010149 seconds and 4 git commands to generate.