From: Michael Witten <mfwitten@gmail.com>
To: git@vger.kernel.org
Subject: [PATCH RFC 09/10] send-email: Minor cleanup of $smtp_server usage and send_message()
Date: Sat, 11 Apr 2009 14:08:27 -0500 [thread overview]
Message-ID: <1239476908-25944-9-git-send-email-mfwitten@gmail.com> (raw)
In-Reply-To: <1239476908-25944-8-git-send-email-mfwitten@gmail.com>
Note that the output has been changed; the server return code
now appears after the `(Sendmail|Server):' line, rather than
after the headers.
Signed-off-by: Michael Witten <mfwitten@gmail.com>
---
Documentation/git-send-email.txt | 3 +-
git-send-email.perl | 39 +++++++++++++++++++++++--------------
2 files changed, 26 insertions(+), 16 deletions(-)
diff --git a/Documentation/git-send-email.txt b/Documentation/git-send-email.txt
index f0c2e7b..07c831e 100644
--- a/Documentation/git-send-email.txt
+++ b/Documentation/git-send-email.txt
@@ -135,7 +135,8 @@ user is prompted for a password while the input is masked for privacy.
be specified by the 'sendemail.smtpserver' configuration
option; the built-in default is `/usr/sbin/sendmail` or
`/usr/lib/sendmail` if such program is available, or
- `localhost` otherwise.
+ `127.0.0.1` otherwise. Also, if <host> is the empty string,
+ then a built-in default is used.
--smtp-server-port=<port>::
Specifies a port different from the default port (SMTP
diff --git a/git-send-email.perl b/git-send-email.perl
index c26a1b5..e771720 100755
--- a/git-send-email.perl
+++ b/git-send-email.perl
@@ -196,7 +196,8 @@ sub do_edit {
# Variables with corresponding config settings
my ($sleep, $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_is_a_command);
+my ($smtp_server_port, $smtp_authuser, $smtp_encryption);
my ($identity, $aliasfiletype, @alias_files, @smtp_host_parts);
my ($validate, $confirm);
my (@suppress_cc);
@@ -761,14 +762,18 @@ if (defined $initial_reply_to) {
$initial_reply_to = "<$initial_reply_to>" if $initial_reply_to ne '';
}
-if (!defined $smtp_server) {
+if (defined $smtp_server and $smtp_server ne '') {
+ $smtp_server_is_a_command = ($smtp_server =~ m{^/});
+} else {
foreach (qw( /usr/sbin/sendmail /usr/lib/sendmail )) {
if (-x $_) {
$smtp_server = $_;
+ $smtp_server_is_a_command = 1;
last;
}
}
- $smtp_server ||= 'localhost'; # could be 127.0.0.1, too... *shrug*
+ $smtp_server_is_a_command = 0;
+ $smtp_server ||= '127.0.0.1';
}
if ($compose && $compose > 0) {
@@ -977,7 +982,7 @@ X-Mailer: git-send-email $gitversion
if ($dry_run) {
# We don't want to send the email.
- } elsif ($smtp_server =~ m#^/#) {
+ } elsif ($smtp_server_is_a_command) {
my $pid = open my $sm, '|-';
defined $pid or die $!;
if (!$pid) {
@@ -1053,24 +1058,28 @@ X-Mailer: git-send-email $gitversion
$smtp->dataend() or die $smtp->message;
$smtp->code =~ /250|200/ or die "Failed to send $subject\n".$smtp->message;
}
+
+ print 'Dry-' if $dry_run;
+
if ($quiet) {
- printf (($dry_run ? "Dry-" : "")."Sent %s\n", $subject);
+ print "Sent $subject\n";
} else {
- print (($dry_run ? "Dry-" : "")."OK. Log says:\n");
- if ($smtp_server !~ m#^/#) {
+ print "OK. Log says:\n";
+
+ if ($smtp_server_is_a_command) {
+ print "Sendmail: $smtp_server ".join(' ',@sendmail_parameters)."\n";
+ print "Result: OK\n";
+ } else {
print "Server: $smtp_server\n";
+
+ $dry_run and print "Result: OK\n" or
+ print "Result: ", $smtp->code, ' ', ($smtp->message =~ /\n([^\n]+\n)$/s), "\n";
+
print "MAIL FROM:<$raw_from>\n";
print "RCPT TO:".join(',',(map { "<$_>" } @recipients))."\n";
- } else {
- print "Sendmail: $smtp_server ".join(' ',@sendmail_parameters)."\n";
}
+
print $header, "\n";
- if ($smtp) {
- print "Result: ", $smtp->code, ' ',
- ($smtp->message =~ /\n([^\n]+\n)$/s), "\n";
- } else {
- print "Result: OK\n";
- }
}
return 1;
--
1.6.2.2.479.g2aec
next prev parent reply other threads:[~2009-04-11 19:19 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-04-11 19:08 [PATCH RFC 01/10] Docs: send-email: Put options back into alphabetical order Michael Witten
2009-04-11 19:08 ` [PATCH RFC 02/10] Docs: send-email: Remove superfluous information in CONFIGURATION Michael Witten
2009-04-11 19:08 ` [PATCH RFC 03/10] send-email: Cleanup the usage text and docs a bit Michael Witten
2009-04-11 19:08 ` [PATCH RFC 04/10] send-email: --smtp-server-port should take an integer Michael Witten
2009-04-11 19:08 ` [PATCH RFC 05/10] send-email: Handle "GIT:" rather than "GIT: " during --compose Michael Witten
2009-04-11 19:08 ` [PATCH RFC 06/10] send-email: References: should only reference what is actually sent Michael Witten
2009-04-11 19:08 ` [PATCH RFC 07/10] send-email: Remove horrible mix of tabs and spaces Michael Witten
2009-04-11 19:08 ` [PATCH RFC 08/10] send-email: Add --sleep for email throttling Michael Witten
2009-04-11 19:08 ` Michael Witten [this message]
2009-04-11 19:08 ` [PATCH RFC 10/10] send-email: --compose takes optional argument to existing file Michael Witten
2009-04-11 19:25 ` Sverre Rabbelier
2009-04-11 19:38 ` Michael Witten
2009-04-11 21:58 ` [PATCH RFC 09/10] send-email: Minor cleanup of $smtp_server usage and send_message() Stephen Boyd
2009-04-11 22:13 ` Michael Witten
2009-04-12 2:27 ` [PATCH RFC 08/10] send-email: Add --sleep for email throttling Jay Soffian
2009-04-12 2:59 ` Michael Witten
2009-04-11 19:17 ` [PATCH RFC 07/10] send-email: Remove horrible mix of tabs and spaces Sverre Rabbelier
2009-04-11 19:31 ` Michael Witten
2009-04-13 1:49 ` Miles Bader
2009-04-13 2:15 ` Michael Witten
2009-04-11 21:52 ` [PATCH RFC 06/10] send-email: References: should only reference what is actually sent Stephen Boyd
2009-04-11 22:42 ` Michael Witten
2009-04-11 21:42 ` [PATCH RFC 02/10] Docs: send-email: Remove superfluous information in CONFIGURATION Stephen Boyd
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1239476908-25944-9-git-send-email-mfwitten@gmail.com \
--to=mfwitten@gmail.com \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.