about summary refs log tree commit
path: root/Net/SMTP.pm
diff options
context:
space:
mode:
Diffstat (limited to 'Net/SMTP.pm')
-rw-r--r--Net/SMTP.pm5
1 files changed, 4 insertions, 1 deletions
diff --git a/Net/SMTP.pm b/Net/SMTP.pm
index 819ce8c..52b5060 100644
--- a/Net/SMTP.pm
+++ b/Net/SMTP.pm
@@ -165,7 +165,10 @@ sub auth {
 
   if (ref($username) and UNIVERSAL::isa($username, 'Authen::SASL')) {
     $sasl = $username;
-    $sasl->mechanism($mechanisms);
+    my $requested_mechanisms = $sasl->mechanism();
+    if (! defined($requested_mechanisms) || $requested_mechanisms eq '') {
+      $sasl->mechanism($mechanisms);
+    }
   }
   else {
     die "auth(username, password)" if not length $username;