Skip to content

Commit

Permalink
New send-email option smtpserveroption.
Browse files Browse the repository at this point in the history
The new command line parameter --smtp-server-option or default
configuration sendemail.smtpserveroption can be used to pass
specific options to the SMTP server. Update the documentation
accordingly.

Signed-off-by: Pascal Obry <pascal@obry.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Pascal Obry authored and Junio C Hamano committed Sep 7, 2010
1 parent 1d02a00 commit 052fbea
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 1 deletion.
1 change: 1 addition & 0 deletions Documentation/config.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1717,6 +1717,7 @@ sendemail.to::
sendemail.smtpdomain::
sendemail.smtpserver::
sendemail.smtpserverport::
sendemail.smtpserveroption::
sendemail.smtpuser::
sendemail.thread::
sendemail.validate::
Expand Down
9 changes: 9 additions & 0 deletions Documentation/git-send-email.txt
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,15 @@ user is prompted for a password while the input is masked for privacy.
are also accepted. The port can also be set with the
'sendemail.smtpserverport' configuration variable.

--smtp-server-option=<option>::
If set, specifies the outgoing SMTP server option to use.
Default value can be specified by the 'sendemail.smtpserveroption'
configuration option.
+
The --smtp-server-option option must be repeated for each option you want
to pass to the server. Likewise, different lines in the configuration files
must be used for each option.

--smtp-ssl::
Legacy alias for '--smtp-encryption ssl'.

Expand Down
8 changes: 7 additions & 1 deletion git-send-email.perl
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ sub usage {
--envelope-sender <str> * Email envelope sender.
--smtp-server <str:int> * Outgoing SMTP server to use. The port
is optional. Default 'localhost'.
--smtp-server-option <str> * Outgoing SMTP server option to use.
--smtp-server-port <int> * Outgoing SMTP server port.
--smtp-user <str> * Username for SMTP-AUTH.
--smtp-pass <str> * Password for SMTP-AUTH; not necessary.
Expand Down Expand Up @@ -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_domain);
my ($validate, $confirm);
my (@suppress_cc);
Expand All @@ -210,6 +212,7 @@ sub do_edit {
my %config_settings = (
"smtpserver" => \$smtp_server,
"smtpserverport" => \$smtp_server_port,
"smtpserveroption" => \@smtp_server_options,
"smtpuser" => \$smtp_authuser,
"smtppass" => \$smtp_authpass,
"smtpdomain" => \$smtp_domain,
Expand Down Expand Up @@ -279,6 +282,7 @@ sub signal_handler {
"no-bcc" => \$no_bcc,
"chain-reply-to!" => \$chain_reply_to,
"smtp-server=s" => \$smtp_server,
"smtp-server-option=s" => \@smtp_server_options,
"smtp-server-port=s" => \$smtp_server_port,
"smtp-user=s" => \$smtp_authuser,
"smtp-pass:s" => \$smtp_authpass,
Expand Down Expand Up @@ -1015,6 +1019,8 @@ sub send_message {
}
}

unshift (@sendmail_parameters, @smtp_server_options);

if ($dry_run) {
# We don't want to send the email.
} elsif ($smtp_server =~ m#^/#) {
Expand Down

0 comments on commit 052fbea

Please sign in to comment.