Code

send-email: fix obscure error when encryption=tls and smtp cannot connect
authorYakov Lerner <iler.ml@gmail.com>
Fri, 25 Sep 2009 22:10:21 +0000 (15:10 -0700)
committerShawn O. Pearce <spearce@spearce.org>
Fri, 25 Sep 2009 22:10:59 +0000 (15:10 -0700)
When encryption=tls and we cannot connect to the SMTP server,
git-send-email was printing an obtuse perl error:

  Can't call method "command" on an undefined value
  at git-send-email line 927.

This can occur when smtp host or port is misspelled, or the network
is down, and encryption has been set to tls.

Instead we expect some familiar "Cannot connect to SERVER:PORT"
message.  Fix it to print normal "smtp can't connect" diagnostics.

Signed-off-by: Yakov Lerner <iler.ml@gmail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
git-send-email.perl

index 0700d80afcf99dfafbd34731bf3c359b7d921ff3..dd821f70cd5e38afeff090e6d5a547096abcbddf 100755 (executable)
@@ -921,7 +921,7 @@ X-Mailer: git-send-email $gitversion
                        $smtp ||= Net::SMTP->new((defined $smtp_server_port)
                                                 ? "$smtp_server:$smtp_server_port"
                                                 : $smtp_server);
-                       if ($smtp_encryption eq 'tls') {
+                       if ($smtp_encryption eq 'tls' && $smtp) {
                                require Net::SMTP::SSL;
                                $smtp->command('STARTTLS');
                                $smtp->response();