Re: [PATCH] send-email: allow sendmail binary to be used instead of SMTP
- From
Junio C Hamano <junkio@cox.net>
- Date
- May 15, 2006, 05:52 UTC
- Message-ID
- <7vpsifx2b7.fsf@assigned-by-dhcp.cox.net>
- In-Reply-To
- <1147660345772-git-send-email-normalperson@yhbt.net>
Eric Wong <normalperson@yhbt.net> writes:
> This should make local mailing possible for machines without > a connection to an SMTP server.
Which is a good thing, but
> It'll default to using /usr/sbin/sendmail or /usr/lib/sendmail > if no SMTP server is specified (the default). If it can't find > either of those paths, it'll fall back to connecting to an SMTP > server on localhost.
I do not know if it is OK to change the default to first prefer local MDA executable and then "localhost". That is, ...
Show 17 quoted lines
> @@ -179,8 +180,14 @@ if (!defined $initial_reply_to && $promp
> $initial_reply_to =~ s/(^\s+|\s+$)//g;
> }
>
> -if (!defined $smtp_server) {
> - $smtp_server = "localhost";
> +if (!$smtp_server) {
> + foreach (qw( /usr/sbin/sendmail /usr/lib/sendmail )) {
> + if (-x $_) {
> + $smtp_server = $_;
> + last;
> + }
> + }
> + $smtp_server ||= 'localhost'; # could be 127.0.0.1, too... *shrug*
> }
>
> if ($compose) {Without this hunk, people who did not specify --smtp-server=host could get away with having anything that listens to 25/tcp on the localhost that is not either of the above two paths; now they have to explicitly say --smtp-server=localhost to defeat what this hunk does. I do not know if it is a big deal, though.
> + if ($smtp_server =~ m#^/#) {I like this if(){}else{} here, but have a feeling that the logging part should be placed outside it to be shared.
While we are at it, we might want to enhance $smtp_server parsing to take host:port notation so that people can use message submission port 587/tcp (RFC 4409) instead.