git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] send-email: Add support for SSL and SMTP-AUTH
@ 2007-09-02  3:14 Douglas Stockwell
  2007-09-02  7:55 ` Junio C Hamano
  0 siblings, 1 reply; 8+ messages in thread
From: Douglas Stockwell @ 2007-09-02  3:14 UTC (permalink / raw)
  To: git; +Cc: Douglas Stockwell

Allows username and password to be given using --smtp-authuser
and --smtp-authpass. SSL use is flagged by --smtp-ssl. These are
backed by corresponding defaults in the git configuration file.

Signed-off-by: Douglas Stockwell <doug@11011.net>
---
 Documentation/git-send-email.txt |   21 +++++++++++++++-
 git-send-email.perl              |   50 ++++++++++++++++++++++++++++++-------
 2 files changed, 60 insertions(+), 11 deletions(-)

diff --git a/Documentation/git-send-email.txt b/Documentation/git-send-email.txt
index 8231286..471c268 100644
--- a/Documentation/git-send-email.txt
+++ b/Documentation/git-send-email.txt
@@ -79,6 +79,16 @@ The --cc option must be repeated for each user you want on the cc list.
 	`/usr/lib/sendmail` if such program is available, or
 	`localhost` otherwise.
 
+--smtp-authuser, --smtp-authpass::
+	Username and password for SMTP-AUTH. Defaults are the values of
+	the configuration values 'sendemail.smtpauthuser' and
+	'sendemail.smtpauthpass'. If not set, authentication is not attempted.
+
+--smtp-ssl::
+	If set, connects to the SMTP server using SSL.
+	Default is the value of the 'sendemail.smtpssl' configuration value;
+	if that is unspecified, does not use SSL.
+
 --subject::
 	Specify the initial subject of the email thread.
 	Only necessary if --compose is also set.  If --compose
@@ -132,7 +142,16 @@ sendemail.chainreplyto::
 	parameter.
 
 sendemail.smtpserver::
-	Default smtp server to use.
+	Default SMTP server to use.
+
+sendemail.smtpauthuser::
+	Default SMTP-AUTH username.
+
+sendemail.smtpauthpass::
+	Default SMTP-AUTH password.
+
+sendemail.smtpssl::
+	Boolean value specifying the default to the '--smtp-ssl' parameter.
 
 Author
 ------
diff --git a/git-send-email.perl b/git-send-email.perl
index f1a8855..38e8395 100755
--- a/git-send-email.perl
+++ b/git-send-email.perl
@@ -73,6 +73,12 @@ Options:
    --smtp-server  If set, specifies the outgoing SMTP server to use.
                   Defaults to localhost.
 
+   --smtp-authuser The username for SMTP-AUTH.
+
+   --smtp-authpass The password for SMTP-AUTH.
+
+   --smtp-ssl     If set, connects to the SMTP server using SSL.
+
    --suppress-from Suppress sending emails to yourself if your address
                   appears in a From: line. Defaults to off.
 
@@ -142,7 +148,6 @@ my $compose_filename = ".msg.$$";
 my (@to,@cc,@initial_cc,@bcclist,@xh,
 	$initial_reply_to,$initial_subject,@files,$author,$sender,$compose,$time);
 
-my $smtp_server;
 my $envelope_sender;
 
 # Example reply to:
@@ -161,17 +166,34 @@ my ($quiet, $dry_run) = (0, 0);
 
 # Variables with corresponding config settings
 my ($thread, $chain_reply_to, $suppress_from, $signed_off_cc);
+my ($smtp_server, $smtp_authuser, $smtp_authpass, $smtp_ssl);
 
-my %config_settings = (
+my %config_bool_settings = (
     "thread" => [\$thread, 1],
     "chainreplyto" => [\$chain_reply_to, 1],
     "suppressfrom" => [\$suppress_from, 0],
     "signedoffcc" => [\$signed_off_cc, 1],
+    "smtpssl" => [\$smtp_ssl, 0]
+);
+
+my %config_string_settings = (
+    "smtpserver" => [\$smtp_server, undef],
+    "smtpauthuser" => [\$smtp_authuser, undef],
+    "smtpauthpass" => [\$smtp_authpass, undef],
 );
 
-foreach my $setting (keys %config_settings) {
+foreach my $setting (keys %config_bool_settings) {
     my $config = $repo->config_bool("sendemail.$setting");
-    ${$config_settings{$setting}->[0]} = (defined $config) ? $config : $config_settings{$setting}->[1];
+    ${$config_bool_settings{$setting}->[0]} = (defined $config)
+        ? $config
+        : $config_bool_settings{$setting}->[1];
+}
+
+foreach my $setting (keys %config_string_settings) {
+    my $config = $repo->config("sendemail.$setting");
+    ${$config_string_settings{$setting}->[0]} = (defined $config)
+        ? $config
+        : $config_string_settings{$setting}->[1];
 }
 
 @bcclist = $repo->config('sendemail.bcc');
@@ -190,6 +212,9 @@ my $rc = GetOptions("sender|from=s" => \$sender,
 		    "bcc=s" => \@bcclist,
 		    "chain-reply-to!" => \$chain_reply_to,
 		    "smtp-server=s" => \$smtp_server,
+		    "smtp-authuser=s" => \$smtp_authuser,
+		    "smtp-authpass=s" => \$smtp_authpass,
+		    "smtp-ssl!" => \$smtp_ssl,
 		    "compose" => \$compose,
 		    "quiet" => \$quiet,
 		    "suppress-from!" => \$suppress_from,
@@ -315,10 +340,7 @@ if ($thread && !defined $initial_reply_to && $prompting) {
 	$initial_reply_to =~ s/(^\s+|\s+$)//g;
 }
 
-if (!$smtp_server) {
-	$smtp_server = $repo->config('sendemail.smtpserver');
-}
-if (!$smtp_server) {
+if (!defined $smtp_server) {
 	foreach (qw( /usr/sbin/sendmail /usr/lib/sendmail )) {
 		if (-x $_) {
 			$smtp_server = $_;
@@ -548,8 +570,16 @@ X-Mailer: git-send-email $gitversion
 		print $sm "$header\n$message";
 		close $sm or die $?;
 	} else {
-		require Net::SMTP;
-		$smtp ||= Net::SMTP->new( $smtp_server );
+		if ($smtp_ssl) {
+			require Net::SMTP::SSL;
+			$smtp ||= Net::SMTP::SSL->new( $smtp_server, Port => 465 );
+		}
+		else {
+			require Net::SMTP;
+			$smtp ||= Net::SMTP->new( $smtp_server );
+		}
+		$smtp->auth( $smtp_authuser, $smtp_authpass )
+			or die $smtp->message if (defined $smtp_authuser);
 		$smtp->mail( $raw_from ) or die $smtp->message;
 		$smtp->to( @recipients ) or die $smtp->message;
 		$smtp->data or die $smtp->message;
-- 
1.5.3.rc7.17.gd77cc

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH] send-email: Add support for SSL and SMTP-AUTH
  2007-09-02  3:14 Douglas Stockwell
@ 2007-09-02  7:55 ` Junio C Hamano
  2007-09-02  9:43   ` Wincent Colaiuta
                     ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Junio C Hamano @ 2007-09-02  7:55 UTC (permalink / raw)
  To: Douglas Stockwell; +Cc: git, Douglas Stockwell

Thanks for the patch.  I think SMTP-AUTH is a worthy addition.

I however have a bit of reservation about making the password
itself a configuration variable.  I understand this is good
enough for the simplest case that you have only single e-mail
identity and mailserver to talk to.

By defining the two "default" variables, you are encouraging
users who want to use different identity per project to define
the smtpauthuser and smtpauthpass variables in .git/config of
each repository.  I see two issues with this.

 (1) Suppose I interact with under one mail identity with
     projects A and B and under another mail identity with
     project C and D.  I need to have duplicate variable
     settings in .git/config of A and B for one and another
     duplicated sets in C and D.

 (2) Although the recommended BCP is not to allow other people
     to interact with your private working repository (iow, you
     keep a separate "bare" repository you use solely for
     publishing, you push from your private working repository
     to that publishing repository, and have others look at only
     the publishing repository), people often do not follow this
     BCP and expose their private working repository to their
     colleages for fetching (or even pushing).  We currently do
     not allow reading remote repository's configuration over
     the git protocol, but there were some cases in the past
     that the ability to do so might lead to their solutions
     discussed on the list.  We might not keep .git/config in
     the repository that is accessed by fetch clients private in
     the future.

So it might be better to split the configuration variables in this
way:

 (1) in ~/.gitconfig (that is hopefully readable only by the
     user):

	[sendemail "default"]
        	server = mail.isp.com
                user = junkio
                pass = junkio-password-for-mail-isp-com

	[sendemail "git"]
        	server = mail.git.xz
                user = gitster
                pass = gitster-password-for-mail-git.xz

     This defines two "mail identities" I could use, depending
     on which project's repository I run send-email.

 (2) in project/.git/config:

	[sendemail]
        	identity = git

     This defines which "mail identity" I want to use for this
     particular project.

This way, you can maintain more than one identity by having
multiple [sendemail "$identity"] sections in ~/.gitconfig, and
avoid having to expose and duplicate user/pass in various
project's .git/config.

The look-up rules by send-email program would be:

 * if anything is given explicitly from the command line, use
   that; otherwise

 * if sendemail.identity does not exist, pretend
   "sendemail.identity = default" was given (let's call that
   identity nickname $identity in the following);

   * if sendemail.$identity.server.exists, use that as the smtp
     server to contact; otherwise sendemail.smtpserver is used;

   * for user/pass information, use sendemail.$identity.user and
     sendemail.$identity.pass.

Hmm?

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] send-email: Add support for SSL and SMTP-AUTH
  2007-09-02  7:55 ` Junio C Hamano
@ 2007-09-02  9:43   ` Wincent Colaiuta
  2007-09-02 11:06   ` David Symonds
  2007-09-02 12:32   ` Johannes Schindelin
  2 siblings, 0 replies; 8+ messages in thread
From: Wincent Colaiuta @ 2007-09-02  9:43 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Douglas Stockwell, git, Douglas Stockwell

El 2/9/2007, a las 9:55, Junio C Hamano escribió:

> So it might be better to split the configuration variables in this
> way:
>
>  (1) in ~/.gitconfig (that is hopefully readable only by the
>      user):
>
> 	[sendemail "default"]
>         	server = mail.isp.com
>                 user = junkio
>                 pass = junkio-password-for-mail-isp-com
>
> 	[sendemail "git"]
>         	server = mail.git.xz
>                 user = gitster
>                 pass = gitster-password-for-mail-git.xz
>
>      This defines two "mail identities" I could use, depending
>      on which project's repository I run send-email.
>
>  (2) in project/.git/config:
>
> 	[sendemail]
>         	identity = git
>
>      This defines which "mail identity" I want to use for this
>      particular project.
>
> This way, you can maintain more than one identity by having
> multiple [sendemail "$identity"] sections in ~/.gitconfig, and
> avoid having to expose and duplicate user/pass in various
> project's .git/config.

Sounds like a good plan.

Wincent

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] send-email: Add support for SSL and SMTP-AUTH
  2007-09-02  7:55 ` Junio C Hamano
  2007-09-02  9:43   ` Wincent Colaiuta
@ 2007-09-02 11:06   ` David Symonds
  2007-09-02 12:32   ` Johannes Schindelin
  2 siblings, 0 replies; 8+ messages in thread
From: David Symonds @ 2007-09-02 11:06 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Douglas Stockwell, git, Douglas Stockwell

On 02/09/07, Junio C Hamano <gitster@pobox.com> wrote:

> So it might be better to split the configuration variables in this
> way:
>
>  (1) in ~/.gitconfig (that is hopefully readable only by the
>      user):

Perhaps git should then start warning if ~/.gitconfig is world (and
probably group) readable/writeable, a la ssh's ~/.ssh/X (for various
values of X)?


Dave.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] send-email: Add support for SSL and SMTP-AUTH
  2007-09-02  7:55 ` Junio C Hamano
  2007-09-02  9:43   ` Wincent Colaiuta
  2007-09-02 11:06   ` David Symonds
@ 2007-09-02 12:32   ` Johannes Schindelin
  2 siblings, 0 replies; 8+ messages in thread
From: Johannes Schindelin @ 2007-09-02 12:32 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Douglas Stockwell, git, Douglas Stockwell

Hi,

On Sun, 2 Sep 2007, Junio C Hamano wrote:

> Thanks for the patch.  I think SMTP-AUTH is a worthy addition.
> 
> I however have a bit of reservation about making the password
> itself a configuration variable.

Why not have the password in $HOME/.netrc, and ask interactively if none 
was found?

Ciao,
Dscho

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH] send-email: Add support for SSL and SMTP-AUTH
@ 2007-09-02 18:06 Douglas Stockwell
  2007-09-03  6:48 ` Wincent Colaiuta
  2007-09-03  7:58 ` Junio C Hamano
  0 siblings, 2 replies; 8+ messages in thread
From: Douglas Stockwell @ 2007-09-02 18:06 UTC (permalink / raw)
  To: gitster; +Cc: git

Allows username and password to be given using --smtp-user
and --smtp-pass. SSL use is flagged by --smtp-ssl. These are
backed by corresponding defaults in the git configuration file.

This implements Junio's 'mail identity' suggestion in a slightly
more generalised manner. --identity=$identity, backed by
sendemail.identity indicates that the configuration subsection
[sendemail "$identity"] should take priority over the [sendemail]
section for all configuration values.

Signed-off-by: Douglas Stockwell <doug@11011.net>
---
 Documentation/git-send-email.txt |   35 +++++++++++++-
 git-send-email.perl              |  101 ++++++++++++++++++++++++++++----------
 2 files changed, 109 insertions(+), 27 deletions(-)

diff --git a/Documentation/git-send-email.txt b/Documentation/git-send-email.txt
index 16bfd7b..1ec61af 100644
--- a/Documentation/git-send-email.txt
+++ b/Documentation/git-send-email.txt
@@ -75,6 +75,12 @@ The --cc option must be repeated for each user you want on the cc list.
 	Make git-send-email less verbose.  One line per email should be
 	all that is output.
 
+--identity::
+	A configuration identity. When given, causes values in the
+	'sendemail.<identity>' subsection to take precedence over
+	values in the 'sendemail' section. The default identity is
+	the value of 'sendemail.identity'.
+
 --smtp-server::
 	If set, specifies the outgoing SMTP server to use (e.g.
 	`smtp.example.com` or a raw IP address).  Alternatively it can
@@ -85,6 +91,17 @@ The --cc option must be repeated for each user you want on the cc list.
 	`/usr/lib/sendmail` if such program is available, or
 	`localhost` otherwise.
 
+--smtp-user, --smtp-pass::
+	Username and password for SMTP-AUTH. Defaults are the values of
+	the configuration values 'sendemail.smtpuser' and
+	'sendemail.smtppass', but see also 'sendemail.identity'.
+	If not set, authentication is not attempted.
+
+--smtp-ssl::
+	If set, connects to the SMTP server using SSL.
+	Default is the value of the 'sendemail.smtpssl' configuration value;
+	if that is unspecified, does not use SSL.
+
 --subject::
 	Specify the initial subject of the email thread.
 	Only necessary if --compose is also set.  If --compose
@@ -122,6 +139,13 @@ The --to option must be repeated for each user you want on the to list.
 
 CONFIGURATION
 -------------
+sendemail.identity::
+	The default configuration identity. When specified,
+	'sendemail.<identity>.<item>' will have higher precedence than
+	'sendemail.<item>'. This is useful to declare multiple SMTP
+	identities and to hoist sensitive authentication information
+	out of the repository and into the global configuation file.
+
 sendemail.aliasesfile::
 	To avoid typing long email addresses, point this to one or more
 	email aliases files.  You must also supply 'sendemail.aliasfiletype'.
@@ -141,7 +165,16 @@ sendemail.chainreplyto::
 	parameter.
 
 sendemail.smtpserver::
-	Default smtp server to use.
+	Default SMTP server to use.
+
+sendemail.smtpuser::
+	Default SMTP-AUTH username.
+
+sendemail.smtppass::
+	Default SMTP-AUTH password.
+
+sendemail.smtpssl::
+	Boolean value specifying the default to the '--smtp-ssl' parameter.
 
 Author
 ------
diff --git a/git-send-email.perl b/git-send-email.perl
index e0b7d12..dd7560b 100755
--- a/git-send-email.perl
+++ b/git-send-email.perl
@@ -73,9 +73,18 @@ Options:
    --signed-off-cc Automatically add email addresses that appear in
                  Signed-off-by: or Cc: lines to the cc: list. Defaults to on.
 
+   --identity     The configuration identity, a subsection to prioritise over
+                  the default section.
+
    --smtp-server  If set, specifies the outgoing SMTP server to use.
                   Defaults to localhost.
 
+   --smtp-user    The username for SMTP-AUTH.
+
+   --smtp-pass    The password for SMTP-AUTH.
+
+   --smtp-ssl     If set, connects to the SMTP server using SSL.
+
    --suppress-from Suppress sending emails to yourself if your address
                   appears in a From: line. Defaults to off.
 
@@ -145,7 +154,6 @@ my $compose_filename = ".msg.$$";
 my (@to,@cc,@initial_cc,@bcclist,@xh,
 	$initial_reply_to,$initial_subject,@files,$author,$sender,$compose,$time);
 
-my $smtp_server;
 my $envelope_sender;
 
 # Example reply to:
@@ -164,24 +172,26 @@ my ($quiet, $dry_run) = (0, 0);
 
 # Variables with corresponding config settings
 my ($thread, $chain_reply_to, $suppress_from, $signed_off_cc, $cc_cmd);
+my ($smtp_server, $smtp_authuser, $smtp_authpass, $smtp_ssl);
+my ($identity, $aliasfiletype, @alias_files);
 
-my %config_settings = (
+my %config_bool_settings = (
     "thread" => [\$thread, 1],
     "chainreplyto" => [\$chain_reply_to, 1],
     "suppressfrom" => [\$suppress_from, 0],
     "signedoffcc" => [\$signed_off_cc, 1],
-    "cccmd" => [\$cc_cmd, ""],
+    "smtpssl" => [\$smtp_ssl, 0],
 );
 
-foreach my $setting (keys %config_settings) {
-    my $config = $repo->config_bool("sendemail.$setting");
-    ${$config_settings{$setting}->[0]} = (defined $config) ? $config : $config_settings{$setting}->[1];
-}
-
-@bcclist = $repo->config('sendemail.bcc');
-if (!@bcclist or !$bcclist[0]) {
-    @bcclist = ();
-}
+my %config_settings = (
+    "smtpserver" => \$smtp_server,
+    "smtpuser" => \$smtp_authuser,
+    "smtppass" => \$smtp_authpass,
+    "cccmd" => \$cc_cmd,
+    "aliasfiletype" => \$aliasfiletype,
+    "bcc" => \@bcclist,
+    "aliasesfile" => \@alias_files,
+);
 
 # Begin by accumulating all the variables (defined above), that we will end up
 # needing, first, from the command line:
@@ -194,6 +204,10 @@ my $rc = GetOptions("sender|from=s" => \$sender,
 		    "bcc=s" => \@bcclist,
 		    "chain-reply-to!" => \$chain_reply_to,
 		    "smtp-server=s" => \$smtp_server,
+		    "smtp-user=s" => \$smtp_authuser,
+		    "smtp-pass=s" => \$smtp_authpass,
+		    "smtp-ssl!" => \$smtp_ssl,
+		    "identity=s" => \$identity,
 		    "compose" => \$compose,
 		    "quiet" => \$quiet,
 		    "cc-cmd=s" => \$cc_cmd,
@@ -208,6 +222,43 @@ unless ($rc) {
     usage();
 }
 
+# Now, let's fill any that aren't set in with defaults:
+
+sub read_config {
+	my ($prefix) = @_;
+
+	foreach my $setting (keys %config_bool_settings) {
+		my $target = $config_bool_settings{$setting}->[0];
+		$$target = $repo->config_bool("$prefix.$setting") unless (defined $$target);
+	}
+
+	foreach my $setting (keys %config_settings) {
+		my $target = $config_settings{$setting};
+		if (ref($target) eq "ARRAY") {
+			unless (@$target) {
+				my @values = $repo->config("$prefix.$setting");
+				@$target = @values if (@values && defined $values[0]);
+			}
+		}
+		else {
+			$$target = $repo->config("$prefix.$setting") unless (defined $$target);
+		}
+	}
+}
+
+# read configuration from [sendemail "$identity"], fall back on [sendemail]
+$identity = $repo->config("sendemail.identity") unless (defined $identity);
+read_config("sendemail.$identity") if (defined $identity);
+read_config("sendemail");
+
+# fall back on builtin bool defaults
+foreach my $setting (values %config_bool_settings) {
+	${$setting->[0]} = $setting->[1] unless (defined (${$setting->[0]}));
+}
+
+my ($repoauthor) = $repo->ident_person('author');
+my ($repocommitter) = $repo->ident_person('committer');
+
 # Verify the user input
 
 foreach my $entry (@to) {
@@ -222,14 +273,7 @@ foreach my $entry (@bcclist) {
 	die "Comma in --bcclist entry: $entry'\n" unless $entry !~ m/,/;
 }
 
-# Now, let's fill any that aren't set in with defaults:
-
-my ($repoauthor) = $repo->ident_person('author');
-my ($repocommitter) = $repo->ident_person('committer');
-
 my %aliases;
-my @alias_files = $repo->config('sendemail.aliasesfile');
-my $aliasfiletype = $repo->config('sendemail.aliasfiletype');
 my %parse_alias = (
 	# multiline formats can be supported in the future
 	mutt => sub { my $fh = shift; while (<$fh>) {
@@ -320,10 +364,7 @@ if ($thread && !defined $initial_reply_to && $prompting) {
 	$initial_reply_to =~ s/(^\s+|\s+$)//g;
 }
 
-if (!$smtp_server) {
-	$smtp_server = $repo->config('sendemail.smtpserver');
-}
-if (!$smtp_server) {
+if (!defined $smtp_server) {
 	foreach (qw( /usr/sbin/sendmail /usr/lib/sendmail )) {
 		if (-x $_) {
 			$smtp_server = $_;
@@ -553,8 +594,16 @@ X-Mailer: git-send-email $gitversion
 		print $sm "$header\n$message";
 		close $sm or die $?;
 	} else {
-		require Net::SMTP;
-		$smtp ||= Net::SMTP->new( $smtp_server );
+		if ($smtp_ssl) {
+			require Net::SMTP::SSL;
+			$smtp ||= Net::SMTP::SSL->new( $smtp_server, Port => 465 );
+		}
+		else {
+			require Net::SMTP;
+			$smtp ||= Net::SMTP->new( $smtp_server );
+		}
+		$smtp->auth( $smtp_authuser, $smtp_authpass )
+			or die $smtp->message if (defined $smtp_authuser);
 		$smtp->mail( $raw_from ) or die $smtp->message;
 		$smtp->to( @recipients ) or die $smtp->message;
 		$smtp->data or die $smtp->message;
@@ -661,7 +710,7 @@ foreach my $t (@files) {
 	}
 	close F;
 
-	if ($cc_cmd ne "") {
+	if (defined $cc_cmd) {
 		open(F, "$cc_cmd $t |")
 			or die "(cc-cmd) Could not execute '$cc_cmd'";
 		while(<F>) {
-- 
1.5.3.1.gc752

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH] send-email: Add support for SSL and SMTP-AUTH
  2007-09-02 18:06 [PATCH] send-email: Add support for SSL and SMTP-AUTH Douglas Stockwell
@ 2007-09-03  6:48 ` Wincent Colaiuta
  2007-09-03  7:58 ` Junio C Hamano
  1 sibling, 0 replies; 8+ messages in thread
From: Wincent Colaiuta @ 2007-09-03  6:48 UTC (permalink / raw)
  To: Douglas Stockwell; +Cc: gitster, git

El 2/9/2007, a las 20:06, Douglas Stockwell escribió:

> Allows username and password to be given using --smtp-user
> and --smtp-pass. SSL use is flagged by --smtp-ssl. These are
> backed by corresponding defaults in the git configuration file.
>
> This implements Junio's 'mail identity' suggestion in a slightly
> more generalised manner. --identity=$identity, backed by
> sendemail.identity indicates that the configuration subsection
> [sendemail "$identity"] should take priority over the [sendemail]
> section for all configuration values.

This will be really useful to me in my current set-up. I'll test it  
here locally and let you know if I can find any problems.

Cheers,
Wincent

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] send-email: Add support for SSL and SMTP-AUTH
  2007-09-02 18:06 [PATCH] send-email: Add support for SSL and SMTP-AUTH Douglas Stockwell
  2007-09-03  6:48 ` Wincent Colaiuta
@ 2007-09-03  7:58 ` Junio C Hamano
  1 sibling, 0 replies; 8+ messages in thread
From: Junio C Hamano @ 2007-09-03  7:58 UTC (permalink / raw)
  To: Douglas Stockwell; +Cc: gitster, git

Douglas Stockwell <doug@11011.net> writes:

> Allows username and password to be given using --smtp-user
> and --smtp-pass. SSL use is flagged by --smtp-ssl. These are
> backed by corresponding defaults in the git configuration file.
>
> This implements Junio's 'mail identity' suggestion in a slightly
> more generalised manner. --identity=$identity, backed by
> sendemail.identity indicates that the configuration subsection
> [sendemail "$identity"] should take priority over the [sendemail]
> section for all configuration values.

Even better than what I suggested, doing a lot more with the
same identity mechanism.  I think it often is the case that
"when I work on this project, I send e-mail as this user to talk
with that server to send e-mail, and that server happens to talk
smtps so use that", and a single "identity" setting is a good
way to capture that.  Very nice.

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2007-09-03  7:59 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-09-02 18:06 [PATCH] send-email: Add support for SSL and SMTP-AUTH Douglas Stockwell
2007-09-03  6:48 ` Wincent Colaiuta
2007-09-03  7:58 ` Junio C Hamano
  -- strict thread matches above, loose matches on Subject: below --
2007-09-02  3:14 Douglas Stockwell
2007-09-02  7:55 ` Junio C Hamano
2007-09-02  9:43   ` Wincent Colaiuta
2007-09-02 11:06   ` David Symonds
2007-09-02 12:32   ` Johannes Schindelin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).