Allow passing arguments to Mail::Mailer->send
authorweasel <weasel@b513b33f-fedd-0310-b452-c3deb5f4c849>
Wed, 1 Mar 2006 15:39:15 +0000 (15:39 +0000)
committerweasel <weasel@b513b33f-fedd-0310-b452-c3deb5f4c849>
Wed, 1 Mar 2006 15:39:15 +0000 (15:39 +0000)
git-svn-id: svn://svn.debian.org/pgp-tools/trunk@267 b513b33f-fedd-0310-b452-c3deb5f4c849

caff/caff
debian/changelog

index 47c4ec89802c7211bfe5f46f18ab63d951fc3dd9..af8ae22671a4a40f85e3fa522bb403df9f04e7a6 100755 (executable)
--- a/caff/caff
+++ b/caff/caff
@@ -245,6 +245,23 @@ Add a Reply-To: header to messages sent. Default: none.
 Address to send blind carbon copies to when sending mail.
 Default: none.
 
+=item B<mailer-send> [array]
+
+Parameters to pass to Mail::Mailer.
+This could for example be
+
+       $CONFIG{mailer-send} =  [ 'smtp', Server => 'mail.server', Auth => ['user', 'pass'] ]
+
+to use the perl SMTP client or
+
+       $CONFIG{mailer-send} =  [ 'sendmail', '-o8' ]
+
+to pass arguments to the sendmail program.
+For more information run C<< perldoc Mail::Mailer >>.
+Setting this option is strongly discouraged.  Fix your local MTA
+instead.
+Default: none.
+
 =back
 
 =head1 AUTHORS
@@ -286,6 +303,10 @@ my $VERSION = "0.0.0.$REVISION_NUMER";
 
 
 
+sub mywarn($) {
+       my ($line) = @_;
+       print "[WARN] $line\n";
+};
 sub notice($) {
        my ($line) = @_;
        print "[NOTICE] $line\n";
@@ -426,6 +447,8 @@ sub load_config() {
        $CONFIG{'no-download'} = 0 unless defined $CONFIG{'no-download'};
        $CONFIG{'no-sign'} = 0 unless defined $CONFIG{'no-sign'};
        $CONFIG{'key-files'} = () unless defined $CONFIG{'key-files'};
+       $CONFIG{'mailer-send'} = [] unless defined $CONFIG{'mailer-send'};
+       die ("$PROGRAM_NAME: mailer-send is not an array ref in $config.\n") unless (ref $CONFIG{'mailer-send'} eq 'ARRAY');
        $CONFIG{'mail-template'} = <<'EOM' unless defined $CONFIG{'mail-template'};
 Hi,
 
@@ -770,7 +793,8 @@ sub send_mail($$$@) {
        $message_entity->head->add("Reply-To", $CONFIG{'reply-to'}) if defined $CONFIG{'reply-to'};
        $message_entity->head->add("Bcc", $CONFIG{'bcc'}) if defined $CONFIG{'bcc'};
        $message_entity->head->add("User-Agent", $USER_AGENT);
-       $message_entity->send();
+       mywarn("You have set arguments to pass to Mail::Mailer.  Better fix your MTA.  (Also, Mail::Mailer's error reporting is non existant, so it won't tell you when it doesn't work.)") if (scalar @{$CONFIG{'mailer-send'}} > 0);
+       $message_entity->send(@{$CONFIG{'mailer-send'}});
        $message_entity->stringify();
 };
 
index f1ad65b75cc0f7a664601fdd25c7d366687be110..79fddb45601527b2b2136c0d1f9f0de825c37360 100644 (file)
@@ -1,19 +1,17 @@
 signing-party (0.4.5-1) UNRELEASED; urgency=low
 
-  [ Thijs Kinkhorst ]
   * Upgrade debhelper compatibility to the recommended level 5.
   * Update FSF addresses.
   * caff: tweak documentation.
   * gpg-key2ps, keylookup: make them less dependent on specific
     installation paths and thus better portable outside of Debian
     (Closes: #354142).
-  * caff: support using a SMTP-server to send out the mails instead
-    of a local MTA. Thanks Mathias Brossard for the patch.
-
-  [ Christoph Berg ]
   * caff: note that mailed keys are encrypted (suggested by Sune Vuorela).
+  * caff: You can now specify additional arguments to pass to the
+    send method of Mail::Mailer.  This allows you to send mails via
+    SMTP and use authentication for instance.  Thanks to Martin von Gagern.
 
- -- Thijs Kinkhorst <kink@squirrelmail.org>  Wed,  1 Mar 2006 15:47:33 +0100
+ -- Peter Palfrader <weasel@debian.org>  Wed,  1 Mar 2006 16:04:43 +0100
 
 signing-party (0.4.4-2) unstable; urgency=low