diff --git a/git-send-email.perl b/git-send-email.perl index 221506c3ed..a8887ea6da 100755 --- a/git-send-email.perl +++ b/git-send-email.perl @@ -64,6 +64,7 @@ sub usage { --smtp-pass * Password for SMTP-AUTH; not necessary. --smtp-encryption * tls or ssl; anything else disables. --smtp-ssl * Deprecated. Use '--smtp-encryption ssl'. + --smtp-debug <0|1> * Disable, enable Net::SMTP debug. Automating: --identity * Use the sendemail. options. @@ -187,6 +188,8 @@ sub do_edit { my ($validate, $confirm); my (@suppress_cc); +my ($debug_net_smtp) = 0; # Net::SMTP, see send_message() + my $not_set_by_user = "true but not set by the user"; my %config_bool_settings = ( @@ -270,6 +273,7 @@ sub signal_handler { "smtp-pass:s" => \$smtp_authpass, "smtp-ssl" => sub { $smtp_encryption = 'ssl' }, "smtp-encryption=s" => \$smtp_encryption, + "smtp-debug:i" => \$debug_net_smtp, "identity=s" => \$identity, "annotate" => \$annotate, "compose" => \$compose, @@ -938,7 +942,8 @@ sub send_message require Net::SMTP; $smtp ||= Net::SMTP->new((defined $smtp_server_port) ? "$smtp_server:$smtp_server_port" - : $smtp_server); + : $smtp_server, + Debug => $debug_net_smtp); if ($smtp_encryption eq 'tls' && $smtp) { require Net::SMTP::SSL; $smtp->command('STARTTLS'); @@ -957,7 +962,7 @@ sub send_message } if (!$smtp) { - die "Unable to initialize SMTP properly. Check config. ", + die "Unable to initialize SMTP properly. Check config and use --smtp-debug. ", "VALUES: server=$smtp_server ", "encryption=$smtp_encryption ", defined $smtp_server_port ? "port=$smtp_server_port" : "";