This extends git-send-email to also consider sendmail binaries in $PATH, in addition to the (fixed) list of /usr/sbin and /usr/lib.fixed) list of paths.
Signed-off-by: Florian Klink <flo...@flokli.de> --- Documentation/git-send-email.txt | 6 +++--- git-send-email.perl | 4 +++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Documentation/git-send-email.txt b/Documentation/git-send-email.txt index bac9014ac..7af48f8eb 100644 --- a/Documentation/git-send-email.txt +++ b/Documentation/git-send-email.txt @@ -203,9 +203,9 @@ a password is obtained using 'git-credential'. specify a full pathname of a sendmail-like program instead; the program must support the `-i` option. Default value can 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. + option; the built-in default is to search in $PATH, + then /usr/sbin and /usr/lib/sendmail afterwards if such program + is available, falling back to `localhost` otherwise. --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 2208dcc21..570f04079 100755 --- a/git-send-email.perl +++ b/git-send-email.perl @@ -885,7 +885,9 @@ if (defined $initial_reply_to) { } if (!defined $smtp_server) { - foreach (qw( /usr/sbin/sendmail /usr/lib/sendmail )) { + my @sendmail_paths = map {"$_/sendmail"} split /:/, $ENV{PATH}; + push @sendmail_paths, qw( /usr/sbin/sendmail /usr/lib/sendmail ); + foreach (@sendmail_paths) { if (-x $_) { $smtp_server = $_; last; -- 2.15.0