On Tue, 11 May 2021 20:35 -0400, Jeff King wrote:
On Wed, May 12, 2021 at 12:00:51AM +0000, brian m. carlson wrote:
> + specify a sendmail-like program instead, either by a full
> + path-name or by prefixing the program name with `!`. The
> + program must support the `-i` option. Default value can be
> + specified by the `sendemail.smtpServer` configuration option;
> + the built-in default is to search for `sendmail` in `/usr/sbin`,
> + `/usr/lib` and $PATH if such program is available, falling back
> + to `localhost` otherwise.
Elsewhere we use the ! syntax we invoke the shell, and I would suggest
that we do the same here. That means we'll get PATH functionality by
default and we'll let people do a modicum of scripting if they like.
Thanks for bringing that up. I agree it makes things more consistent
with other uses of "!", and certainly it's more flexible. It does
introduce an inconsistency with the absolute-path form, as I mentioned
in https://lore.kernel.org/git/YJsiKDNbKclFU00b@xxxxxxxxxxxxxxxxxxxxxxx/.
I don't know if that's a show-stopper or not. Certainly the
documentation can explain the difference, but it's nice to keep the
rules as simple as possible.
(My gut feeling is that consistency with other "!" places is more
important than consistency with the absolute-path form).
-Peff
We already have sendemail.smtpServerOption to add options:
[sendemail]
smtpServer = !msmtp
smtpServerOption = -f
smtpServerOption = greg@xxxxxxxxxxxx
I agree that it's not the prettiest and it's a little annoying to have
to specify the option multiple times, but I thought it worth mentioning
before considering another way to do the same thing.
I also am curious what other's thoughts are on Felipe's suggestion to
add a sendemail.program option, which would altogether remove the need
to further overload sendemail.smtpServer:
https://lore.kernel.org/git/609b0017a323b_6064920888@natae.notmuch/
IMO if we want to add the capability to run an arbitrary shell command
as the smtpServer, this makes more sense to add as a dedicated
sendemail.program option that has that functionality baked right in:
[sendemail]
program = "msmtp -f greg@xxxxxxxxxxxx"