r4411 - in /packages/libemail-send-perl/trunk: Changes LICENSE MANIFEST META.yml Makefile.PL debian/changelog lib/Email/Send.pm lib/Email/Send/SMTP.pm

eloy at users.alioth.debian.org eloy at users.alioth.debian.org
Tue Nov 28 15:11:26 CET 2006


Author: eloy
Date: Tue Nov 28 15:11:26 2006
New Revision: 4411

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=4411
Log:
eloy: new upstream version

Added:
    packages/libemail-send-perl/trunk/LICENSE
      - copied unchanged from r4409, packages/libemail-send-perl/branches/upstream/current/LICENSE
Modified:
    packages/libemail-send-perl/trunk/Changes
    packages/libemail-send-perl/trunk/MANIFEST
    packages/libemail-send-perl/trunk/META.yml
    packages/libemail-send-perl/trunk/Makefile.PL
    packages/libemail-send-perl/trunk/debian/changelog
    packages/libemail-send-perl/trunk/lib/Email/Send.pm
    packages/libemail-send-perl/trunk/lib/Email/Send/SMTP.pm

Modified: packages/libemail-send-perl/trunk/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/packages/libemail-send-perl/trunk/Changes?rev=4411&op=diff
==============================================================================
--- packages/libemail-send-perl/trunk/Changes (original)
+++ packages/libemail-send-perl/trunk/Changes Tue Nov 28 15:11:26 2006
@@ -1,3 +1,10 @@
+2.181   2006-11-25
+  - remove dependency on Class::Accessor::Fast, which broke its $VERSION
+
+2.180   2006-08-23
+
+  - add support for TLS SMTP, based on a patch by Fayland Lam
+
 2.171   2006-07-29
 
   - improve tests and contents, giving up on Test::Without::Module

Modified: packages/libemail-send-perl/trunk/MANIFEST
URL: http://svn.debian.org/wsvn/pkg-perl/packages/libemail-send-perl/trunk/MANIFEST?rev=4411&op=diff
==============================================================================
--- packages/libemail-send-perl/trunk/MANIFEST (original)
+++ packages/libemail-send-perl/trunk/MANIFEST Tue Nov 28 15:11:26 2006
@@ -9,7 +9,6 @@
 lib/Email/Send/Test.pm
 Makefile.PL
 MANIFEST			This list of files
-META.yml
 README
 t/abstract-msg.t
 t/all-mailers.t
@@ -37,3 +36,5 @@
 util/executable
 util/not-executable
 util/sendmail
+LICENSE
+META.yml                                 Module meta-data (added by MakeMaker)

Modified: packages/libemail-send-perl/trunk/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/packages/libemail-send-perl/trunk/META.yml?rev=4411&op=diff
==============================================================================
--- packages/libemail-send-perl/trunk/META.yml (original)
+++ packages/libemail-send-perl/trunk/META.yml Tue Nov 28 15:11:26 2006
@@ -1,11 +1,11 @@
-# http://module-build.sourceforge.net/META-spec.html
-#XXXXXXX This is a prototype!!!  It will change in the future!!! XXXXX#
-name:         Email-Send
-version:      2.171
-version_from: lib/Email/Send.pm
-installdirs:  site
-requires:
-    Class::Accessor::Fast:         0.18
+--- #YAML:1.0
+name:                Email-Send
+version:             2.181
+abstract:            Simply Sending Email
+license:             perl
+generated_by:        ExtUtils::MakeMaker version 6.31
+distribution_type:   module
+requires:     
     Email::Address:                1.80
     Email::Simple:                 1.92
     File::Spec:                    0
@@ -14,6 +14,8 @@
     Scalar::Util:                  1.02
     Symbol:                        0.00
     Test::More:                    0.47
-
-distribution_type: module
-generated_by: ExtUtils::MakeMaker version 6.30
+meta-spec:
+    url:     http://module-build.sourceforge.net/META-spec-v1.2.html
+    version: 1.2
+author:
+    - Casey West <casey at geeknest.com>

Modified: packages/libemail-send-perl/trunk/Makefile.PL
URL: http://svn.debian.org/wsvn/pkg-perl/packages/libemail-send-perl/trunk/Makefile.PL?rev=4411&op=diff
==============================================================================
--- packages/libemail-send-perl/trunk/Makefile.PL (original)
+++ packages/libemail-send-perl/trunk/Makefile.PL Tue Nov 28 15:11:26 2006
@@ -1,19 +1,20 @@
+use strict;
 use ExtUtils::MakeMaker;
 
 WriteMakefile (
   AUTHOR        => 'Casey West <casey at geeknest.com>',
   ABSTRACT      => "Simply Sending Email",
   NAME          => 'Email::Send',
+  (eval { ExtUtils::MakeMaker->VERSION(6.21) } ? (LICENSE => 'perl') : ()),
   PREREQ_PM     => {
-    'Class::Accessor::Fast' => '0.18', # cope with broken 5.6.0 base.pm
-    'Email::Address'    => '1.80', # avoid many 'could hand on bad addr' bugs
-    'Email::Simple'     => '1.92', # previous versions have prereq problems
-    'File::Spec'        =>      0, # min ver unknown; core in 5.005
-    'Module::Pluggable' => '2.97', # topic safety
-    'Return::Value'     => '1.28', # avoid num/bool explosions on 5.6.1
-    'Scalar::Util'      => '1.02', # reason unknown;  core in 5.7.3
-    'Symbol'            => '0.00', # min ver unknown; core in 5.002
-    'Test::More'        => '0.47', # reason unknown;  core in 5.8.1
+    'Email::Address'        => '1.80', # avoid many 'returns bad addr' bugs
+    'Email::Simple'         => '1.92', # previous versions have prereq problems
+    'File::Spec'            =>      0, # min ver unknown; core in 5.005
+    'Module::Pluggable'     => '2.97', # topic safety
+    'Return::Value'         => '1.28', # avoid num/bool explosions on 5.6.1
+    'Scalar::Util'          => '1.02', # reason unknown;  core in 5.7.3
+    'Symbol'                => '0.00', # min ver unknown; core in 5.002
+    'Test::More'            => '0.47', # reason unknown;  core in 5.8.1
   },
   VERSION_FROM  => 'lib/Email/Send.pm',
 );

Modified: packages/libemail-send-perl/trunk/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-perl/packages/libemail-send-perl/trunk/debian/changelog?rev=4411&op=diff
==============================================================================
--- packages/libemail-send-perl/trunk/debian/changelog (original)
+++ packages/libemail-send-perl/trunk/debian/changelog Tue Nov 28 15:11:26 2006
@@ -1,3 +1,9 @@
+libemail-send-perl (2.181-1) unstable; urgency=low
+
+  * New upstream release
+
+ -- Krzysztof Krzyzaniak (eloy) <eloy at debian.org>  Tue, 28 Nov 2006 15:10:40 +0100
+
 libemail-send-perl (2.171-1) unstable; urgency=low
 
   * New upstream release.
@@ -24,4 +30,3 @@
   * Initial Release (closes: #367200).
 
  -- Krzysztof Krzyzaniak (eloy) <eloy at debian.org>  Sun, 14 May 2006 00:26:53 +0200
-

Modified: packages/libemail-send-perl/trunk/lib/Email/Send.pm
URL: http://svn.debian.org/wsvn/pkg-perl/packages/libemail-send-perl/trunk/lib/Email/Send.pm?rev=4411&op=diff
==============================================================================
--- packages/libemail-send-perl/trunk/lib/Email/Send.pm (original)
+++ packages/libemail-send-perl/trunk/lib/Email/Send.pm Tue Nov 28 15:11:26 2006
@@ -2,9 +2,8 @@
 use strict;
 
 use vars qw[$VERSION];
-$VERSION   = '2.171';
-
-use base qw[Class::Accessor::Fast];
+$VERSION   = '2.181';
+
 use Email::Simple;
 use Module::Pluggable search_path => 'Email::Send';
 use Return::Value;
@@ -103,9 +102,21 @@
         ($short_name, $_);
     } $class->plugins;
     $args->{_plugin_list} = \%plugins;
-    return $class->SUPER::new($args);
-}
-__PACKAGE__->mk_accessors(qw[mailer mailer_args message_modifier _plugin_list]);
+    return bless $args => $class;
+}
+
+BEGIN {
+  for my $field (qw(mailer mailer_args message_modifier _plugin_list)) {
+    my $code = sub {
+      return $_[0]->{$field} unless @_ > 1;
+      my $self = shift;
+      $self->{$field} = (@_ == 1 ? $_[0] : [@_]);
+    };
+
+    no strict 'refs';
+    *$field = $code;
+  }
+}
 
 =head2 Methods
 

Modified: packages/libemail-send-perl/trunk/lib/Email/Send/SMTP.pm
URL: http://svn.debian.org/wsvn/pkg-perl/packages/libemail-send-perl/trunk/lib/Email/Send/SMTP.pm?rev=4411&op=diff
==============================================================================
--- packages/libemail-send-perl/trunk/lib/Email/Send/SMTP.pm (original)
+++ packages/libemail-send-perl/trunk/lib/Email/Send/SMTP.pm Tue Nov 28 15:11:26 2006
@@ -5,13 +5,14 @@
 use Email::Address;
 use Return::Value;
 
-$VERSION   = '2.04';
+$VERSION   = '2.180';
 
 sub is_available {
     my ($class, %args) = @_;
     my $success = 1;
     $success = eval { require Net::SMTP };
     $success = eval { require Net::SMTP::SSL } if $args{ssl};
+    $success = eval { require Net::SMTP::TLS } if $args{tls};
     return   $success
            ? success
            : failure $@;
@@ -31,16 +32,14 @@
         }
 
         my $host = delete($args{Host}) || 'localhost';
-        if ( $args{ssl} ) {
-            require Net::SMTP::SSL;
-            $SMTP->quit if $SMTP;
-            $SMTP = Net::SMTP::SSL->new($host, %args);
-            return failure "Couldn't connect to $host" unless $SMTP;
-        } else {
-            $SMTP->quit if $SMTP;
-            $SMTP = Net::SMTP->new($host, %args);
-            return failure "Couldn't connect to $host" unless $SMTP;
-        }
+
+        my $smtp_class = $args{ssl} ? 'Net::SMTP::SSL'
+                       : $args{tls} ? 'Net::SMTP::TLS'
+                       :              'Net::SMTP';
+
+        $SMTP->quit if $SMTP;
+        $SMTP = $smtp_class->new($host, %args);
+        return failure "Couldn't connect to $host" unless $SMTP;
         
         my ($user, $pass)
           = @args{qw[username password]};
@@ -55,30 +54,36 @@
     eval {
         my $from =
           (Email::Address->parse($message->header('From')))[0]->address;
-        $SMTP->mail($from) or return failure "FROM: <$from> denied";
 
-        @to = map {
-                   map { $_->address }
-                       Email::Address->parse($message->header($_))
-                  } qw[To Cc Bcc];
-        my @ok = $SMTP->to(@to, { SkipBad => 1 });
+        # ::TLS has no useful return value, but will croak on failure.
+        eval { $SMTP->mail($from) } or return failure "FROM: <$from> denied";
 
-        if ( @to != @ok ) {
-            my %to; @to{@to} = (1) x @to;
-            delete @to{@ok};
-            @bad = keys %to;
+        for my $header (qw(To Cc Bcc)) {
+          push @to,
+            map { $_->address }
+            Email::Address->parse($message->header($header));
         }
+
+        if (eval { $SMTP->isa('Net::SMTP::TLS') }) {
+          $SMTP->to(@to);
+        } else {
+          my @ok = $SMTP->to(@to, { SkipBad => 1 });
+
+          if ( @to != @ok ) {
+              my %to; @to{@to} = (1) x @to;
+              delete @to{@ok};
+              @bad = keys %to;
+          }
+        }
+ 
+        return failure "No valid recipients" if @bad == @to;
     };
+
     return failure $@ if $@;
 
-    return failure "No valid recipients" if @bad == @to;
+    return failure "Can't send data" unless $SMTP->data( $message->as_string );
 
-    return failure "Can't send data"
-      unless $SMTP->data( $message->as_string );
-
-    return success "Message sent", prop => {
-        bad => [ @bad ],
-    };
+    return success "Message sent", prop => { bad => [ @bad ], };
 }
 
 sub DESTROY {




More information about the Pkg-perl-cvs-commits mailing list