From: Pascal Obry Date: Sat, 04 Sep 2010 16:06:12 GMT Subject: [PATCH 2/2] New send-email option smtpserveroptions. Message-ID: <1283616372-3340-3-git-send-email-pascal@obry.net> In-Reply-To: <1283616372-3340-1-git-send-email-pascal@obry.net> The new command line parameter --smtp-server-options or default configuration sendemail.smtpserveroptions can be used to pass specific options to the SMTP server. --- Documentation/git-send-email.txt | 5 +++++ git-send-email.perl | 9 ++++++++- 2 files changed, 13 insertions(+), 1 deletions(-) diff --git a/Documentation/git-send-email.txt b/Documentation/git-send-email.txt index c283084..425b102 100644 --- a/Documentation/git-send-email.txt +++ b/Documentation/git-send-email.txt @@ -157,6 +157,11 @@ user is prompted for a password while the input is masked for privacy. `/usr/lib/sendmail` if such program is available, or `localhost` otherwise. +--smtp-server-options=:: + If set, specifies the outgoing SMTP server options to use. + Default value can be specified by the 'sendemail.smtpserveroptions' + configuration option. + --smtp-server-port=:: Specifies a port different from the default port (SMTP servers typically listen to smtp port 25, but may also listen to diff --git a/git-send-email.perl b/git-send-email.perl index 0063606..e5cdda7 100755 --- a/git-send-email.perl +++ b/git-send-email.perl @@ -60,6 +60,7 @@ git send-email [options] --envelope-sender * Email envelope sender. --smtp-server * Outgoing SMTP server to use. The port is optional. Default 'localhost'. + --smtp-server-options * Outgoing SMTP server options to use. --smtp-server-port * Outgoing SMTP server port. --smtp-user * Username for SMTP-AUTH. --smtp-pass * Password for SMTP-AUTH; not necessary. @@ -188,7 +189,8 @@ sub do_edit { # Variables with corresponding config settings my ($thread, $chain_reply_to, $suppress_from, $signed_off_by_cc, $cc_cmd); -my ($smtp_server, $smtp_server_port, $smtp_authuser, $smtp_encryption); +my ($smtp_server, $smtp_server_port, $smtp_server_options); +my ($smtp_authuser, $smtp_encryption); my ($identity, $aliasfiletype, @alias_files, @smtp_host_parts, $smtp_domain); my ($validate, $confirm); my (@suppress_cc); @@ -210,6 +212,7 @@ my %config_bool_settings = ( my %config_settings = ( "smtpserver" => \$smtp_server, "smtpserverport" => \$smtp_server_port, + "smtpserveroptions" => \$smtp_server_options, "smtpuser" => \$smtp_authuser, "smtppass" => \$smtp_authpass, "smtpdomain" => \$smtp_domain, @@ -279,6 +282,7 @@ my $rc = GetOptions("sender|from=s" => \$sender, "no-bcc" => \$no_bcc, "chain-reply-to!" => \$chain_reply_to, "smtp-server=s" => \$smtp_server, + "smtp-server-options=s" => \$smtp_server_options, "smtp-server-port=s" => \$smtp_server_port, "smtp-user=s" => \$smtp_authuser, "smtp-pass:s" => \$smtp_authpass, @@ -1015,6 +1019,9 @@ X-Mailer: git-send-email $gitversion } } + unshift (@sendmail_parameters, $smtp_server_options) + if (defined $smtp_server_options); + if ($dry_run) { # We don't want to send the email. } elsif ($smtp_server =~ m#^/#) { -- 1.7.2.2.277.gb49c4