Git Mailing List Archive mirror
 help / color / mirror / Atom feed
* Can git send-email support neomutt?
@ 2022-11-05 15:46 Wu Zhenyu
  2022-11-05 18:10 ` brian m. carlson
  0 siblings, 1 reply; 5+ messages in thread
From: Wu Zhenyu @ 2022-11-05 15:46 UTC (permalink / raw)
  To: git

Excuse me.

I want to use neomutt as git send-email's cmd:

```
[sendemail]
	sendmailCmd = neomutt
```

However, I notice

```
my @sendmail_parameters = ('-i', @recipients);
...
exec ("sh", "-c", "$sendmail_cmd \"\$@\"", "-", @sendmail_parameters)
```

It call `neomutt -i to@email from@email`, which is an incorrect cmd for neomutt.

Can we customize sendmail-cmd more flexible? Like

```
[sendemail]
	sendmailCmd = neomutt %{to}
```

call `neomutt to@email.com`.

Thanks!

-- 
Best Regards
Wu Zhenyu

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

* Re: Can git send-email support neomutt?
  2022-11-05 15:46 Can git send-email support neomutt? Wu Zhenyu
@ 2022-11-05 18:10 ` brian m. carlson
  2022-11-06  9:02   ` Wu Zhenyu
       [not found]   ` <20221106085820.m53mwajd5yfsyri4@desktop>
  0 siblings, 2 replies; 5+ messages in thread
From: brian m. carlson @ 2022-11-05 18:10 UTC (permalink / raw)
  To: Wu Zhenyu; +Cc: git

[-- Attachment #1: Type: text/plain, Size: 1259 bytes --]

On 2022-11-05 at 15:46:00, Wu Zhenyu wrote:
> Excuse me.
> 
> I want to use neomutt as git send-email's cmd:
> 
> ```
> [sendemail]
> 	sendmailCmd = neomutt
> ```

Mutt and Neomutt are MUAs, which stands for mail user agent.  That is,
they're mail clients that people use to read, compose, and send email.
The sendmailCmd wants an MTA, or mail transfer agent, which is
essentially a mail server.  It's customary for most Unix systems to have
such a piece of software which emulates the original Sendmail in its
command-line interface, even if that's to send data off the system.

That's why you see a fixed interface here, because whether someone is
using Sendmail, Exim, Postfix, or a smarthost-only tool like esmtp-run,
whatever software is being used presents the same interface.

It's not likely that we'd add a lot of customizability to this option.
However, you can use the same SMTP server that you use with Neomutt by
setting the smtpuser, smtpencryption, smtpserver, and smtpserverport
options.

You can also use `git format-patch --stdout | neomutt -f -` and that may
provide you the same functionality you were hoping for with
`sendemail.sendmailCmd`.
-- 
brian m. carlson (he/him or they/them)
Toronto, Ontario, CA

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 263 bytes --]

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

* Re: Can git send-email support neomutt?
  2022-11-05 18:10 ` brian m. carlson
@ 2022-11-06  9:02   ` Wu Zhenyu
       [not found]   ` <20221106085820.m53mwajd5yfsyri4@desktop>
  1 sibling, 0 replies; 5+ messages in thread
From: Wu Zhenyu @ 2022-11-06  9:02 UTC (permalink / raw)
  To: brian m. carlson; +Cc: git

Thanks for your quick reply.

> You can also use `git format-patch --stdout | neomutt -f -` and that may
> provide you the same functionality you were hoping for with
> `sendemail.sendmailCmd`.

It cannot use `git send-email -1` I like.

> Mutt and Neomutt are MUAs, which stands for mail user agent.  That is,
> they're mail clients that people use to read, compose, and send email.

People can use MUA to send email, the only problem is `-i`. I consider the following method

```
[sendemail]
	suppresscc = author
	sendmailCmd = git-neomutt
```

`~/.local/bin/neomutt`

```
#!/usr/bin/env bash
neomutt "${@//-i/}"
```

And it can work:

```
❯ git send-email -1
/tmp/5441yKUviQ/0001-TEST.patch
The following files are 8bit, but do not declare a Content-Transfer-Encoding.
    /tmp/5441yKUviQ/0001-TEST.patch
Which 8bit encoding should I declare [UTF-8]?
To whom should the emails be sent (if anyone)? my-another@email
Message-ID to be used as In-Reply-To for the first email (if any)?
Logging in...
Warning: Fcc to an IMAP mailbox is not supported in batch mode
Skipping Fcc to imaps://imaphz.qiye.163.com/Sent
OK. Log says:
Sendmail: git-neomutt -i my-another@email
From: Wu Zhenyu <wuzhenyu@ustc.edu>
To: my-another@email
Subject: [PATCH] TEST
Date: Sun,  6 Nov 2022 16:39:49 +0800
Message-Id: <20221106083949.210946-1-wuzhenyu@ustc.edu>
X-Mailer: git-send-email 2.38.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Result: OK
```

I want to know can we remove `-i` to allow more MUA/MTA? If user want to add something, why not let them

```
[sendemail]
	sendmailCmd = msmtp -i
```

I think it should be easy to realize.

And I'll consider share this tip to neomutt.

Thanks!

On Sat, Nov 05, 2022 at 06:10:10PM +0000, brian m. carlson wrote:
> On 2022-11-05 at 15:46:00, Wu Zhenyu wrote:
> > Excuse me.
> > 
> > I want to use neomutt as git send-email's cmd:
> > 
> > ```
> > [sendemail]
> > 	sendmailCmd = neomutt
> > ```
> 
> Mutt and Neomutt are MUAs, which stands for mail user agent.  That is,
> they're mail clients that people use to read, compose, and send email.
> The sendmailCmd wants an MTA, or mail transfer agent, which is
> essentially a mail server.  It's customary for most Unix systems to have
> such a piece of software which emulates the original Sendmail in its
> command-line interface, even if that's to send data off the system.
> 
> That's why you see a fixed interface here, because whether someone is
> using Sendmail, Exim, Postfix, or a smarthost-only tool like esmtp-run,
> whatever software is being used presents the same interface.
> 
> It's not likely that we'd add a lot of customizability to this option.
> However, you can use the same SMTP server that you use with Neomutt by
> setting the smtpuser, smtpencryption, smtpserver, and smtpserverport
> options.
> 
> You can also use `git format-patch --stdout | neomutt -f -` and that may
> provide you the same functionality you were hoping for with
> `sendemail.sendmailCmd`.
> -- 
> brian m. carlson (he/him or they/them)
> Toronto, Ontario, CA



-- 
Best Regards
Wu Zhenyu


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

* Re: Can git send-email support neomutt?
       [not found]   ` <20221106085820.m53mwajd5yfsyri4@desktop>
@ 2022-11-06  9:14     ` brian m. carlson
  2022-11-06 10:17       ` Wu Zhenyu
  0 siblings, 1 reply; 5+ messages in thread
From: brian m. carlson @ 2022-11-06  9:14 UTC (permalink / raw)
  To: Wu Zhenyu; +Cc: git

[-- Attachment #1: Type: text/plain, Size: 3237 bytes --]

On 2022-11-06 at 08:58:20, Wu Zhenyu wrote:
> Thanks for your quick reply.

Hi, please keep the list in CC.  It's helpful that everyone can benefit
from seeing the replies, and it's possible someone else might have a
thought on a good way forward.

> > You can also use `git format-patch --stdout | neomutt -f -` and that may
> > provide you the same functionality you were hoping for with
> > `sendemail.sendmailCmd`.
> 
> It cannot use `git send-email -1` I like.
> 
> > Mutt and Neomutt are MUAs, which stands for mail user agent.  That is,
> > they're mail clients that people use to read, compose, and send email.
> 
> People can use MUA to send email, the only problem is `-i`. I consider the following method

Sure, I agree that we can do so.  In fact, as soon as I'm done composing
this email, I'll be using mutt to send that.

> ```
> [sendemail]
> 	suppresscc = author
> 	sendmailCmd = git-neomutt
> ```
> 
> `~/.local/bin/neomutt`
> 
> ```
> #!/usr/bin/env bash
> neomutt "${@//-i/}"
> ```
> 
> And it can work:
> 
> ```
> ❯ git send-email -1
> /tmp/5441yKUviQ/0001-TEST.patch
> The following files are 8bit, but do not declare a Content-Transfer-Encoding.
>     /tmp/5441yKUviQ/0001-TEST.patch
> Which 8bit encoding should I declare [UTF-8]?
> To whom should the emails be sent (if anyone)? my-another@email
> Message-ID to be used as In-Reply-To for the first email (if any)?
> Logging in...
> Warning: Fcc to an IMAP mailbox is not supported in batch mode
> Skipping Fcc to imaps://imaphz.qiye.163.com/Sent
> OK. Log says:
> Sendmail: git-neomutt -i my-another@email
> From: Wu Zhenyu <wuzhenyu@ustc.edu>
> To: my-another@email
> Subject: [PATCH] TEST
> Date: Sun,  6 Nov 2022 16:39:49 +0800
> Message-Id: <20221106083949.210946-1-wuzhenyu@ustc.edu>
> X-Mailer: git-send-email 2.38.1
> MIME-Version: 1.0
> Content-Type: text/plain; charset=UTF-8
> Content-Transfer-Encoding: 8bit
> 
> Result: OK
> ```

There's nothing here preventing you from invoking an arbitrary program.
That program just has to implement a sendmail-compatible interface,
which neomutt doesn't.  If you want to wrap neomutt in a
sendmail-compatible interface like you've done, then this can work just
fine.

> I want to know can we remove `-i` to allow more MUA/MTA? If user want to add something, why not let them
> 
> ```
> [sendemail]
> 	sendmailCmd = msmtp -i
> ```

This breaks a lot of the existing tooling which expects that this is a
sendmail-compatible interface.  In addition, we might add an additional
value in the future, like -B8BITMIME (which we really should be adding
if we're sending 8bit data).  The documentation specifically says it
should be sendmail-like.

> I think it should be easy to realize.

I think this is going to cause a bunch of compatibility problems.  git
send-email is specifically designed to cause email to be sent (i.e., via
SMTP).  If you want to use another tool to do the sending, that's fine,
but then you typically want to use git format-patch to provide those to
the other program.

> And I'll consider share this tip to neomutt.
> 
> Thanks!

-- 
brian m. carlson (he/him or they/them)
Toronto, Ontario, CA

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 263 bytes --]

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

* Re: Can git send-email support neomutt?
  2022-11-06  9:14     ` brian m. carlson
@ 2022-11-06 10:17       ` Wu Zhenyu
  0 siblings, 0 replies; 5+ messages in thread
From: Wu Zhenyu @ 2022-11-06 10:17 UTC (permalink / raw)
  To: brian m. carlson; +Cc: git

> That program just has to implement a sendmail-compatible interface,
> which neomutt doesn't.  If you want to wrap neomutt in a
> sendmail-compatible interface like you've done, then this can work just
> fine.

Good.
The compatibility is important.
I'll ask neomutt can them provide an official sendmail-compatible interface.
Thanks!

On Sun, Nov 06, 2022 at 09:14:47AM +0000, brian m. carlson wrote:
> On 2022-11-06 at 08:58:20, Wu Zhenyu wrote:
> > Thanks for your quick reply.
> 
> Hi, please keep the list in CC.  It's helpful that everyone can benefit
> from seeing the replies, and it's possible someone else might have a
> thought on a good way forward.
> 
> > > You can also use `git format-patch --stdout | neomutt -f -` and that may
> > > provide you the same functionality you were hoping for with
> > > `sendemail.sendmailCmd`.
> > 
> > It cannot use `git send-email -1` I like.
> > 
> > > Mutt and Neomutt are MUAs, which stands for mail user agent.  That is,
> > > they're mail clients that people use to read, compose, and send email.
> > 
> > People can use MUA to send email, the only problem is `-i`. I consider the following method
> 
> Sure, I agree that we can do so.  In fact, as soon as I'm done composing
> this email, I'll be using mutt to send that.
> 
> > ```
> > [sendemail]
> > 	suppresscc = author
> > 	sendmailCmd = git-neomutt
> > ```
> > 
> > `~/.local/bin/neomutt`
> > 
> > ```
> > #!/usr/bin/env bash
> > neomutt "${@//-i/}"
> > ```
> > 
> > And it can work:
> > 
> > ```
> > ❯ git send-email -1
> > /tmp/5441yKUviQ/0001-TEST.patch
> > The following files are 8bit, but do not declare a Content-Transfer-Encoding.
> >     /tmp/5441yKUviQ/0001-TEST.patch
> > Which 8bit encoding should I declare [UTF-8]?
> > To whom should the emails be sent (if anyone)? my-another@email
> > Message-ID to be used as In-Reply-To for the first email (if any)?
> > Logging in...
> > Warning: Fcc to an IMAP mailbox is not supported in batch mode
> > Skipping Fcc to imaps://imaphz.qiye.163.com/Sent
> > OK. Log says:
> > Sendmail: git-neomutt -i my-another@email
> > From: Wu Zhenyu <wuzhenyu@ustc.edu>
> > To: my-another@email
> > Subject: [PATCH] TEST
> > Date: Sun,  6 Nov 2022 16:39:49 +0800
> > Message-Id: <20221106083949.210946-1-wuzhenyu@ustc.edu>
> > X-Mailer: git-send-email 2.38.1
> > MIME-Version: 1.0
> > Content-Type: text/plain; charset=UTF-8
> > Content-Transfer-Encoding: 8bit
> > 
> > Result: OK
> > ```
> 
> There's nothing here preventing you from invoking an arbitrary program.
> That program just has to implement a sendmail-compatible interface,
> which neomutt doesn't.  If you want to wrap neomutt in a
> sendmail-compatible interface like you've done, then this can work just
> fine.
> 
> > I want to know can we remove `-i` to allow more MUA/MTA? If user want to add something, why not let them
> > 
> > ```
> > [sendemail]
> > 	sendmailCmd = msmtp -i
> > ```
> 
> This breaks a lot of the existing tooling which expects that this is a
> sendmail-compatible interface.  In addition, we might add an additional
> value in the future, like -B8BITMIME (which we really should be adding
> if we're sending 8bit data).  The documentation specifically says it
> should be sendmail-like.
> 
> > I think it should be easy to realize.
> 
> I think this is going to cause a bunch of compatibility problems.  git
> send-email is specifically designed to cause email to be sent (i.e., via
> SMTP).  If you want to use another tool to do the sending, that's fine,
> but then you typically want to use git format-patch to provide those to
> the other program.
> 
> > And I'll consider share this tip to neomutt.
> > 
> > Thanks!
> 
> -- 
> brian m. carlson (he/him or they/them)
> Toronto, Ontario, CA



-- 
Best Regards
Wu Zhenyu

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

end of thread, other threads:[~2022-11-06 10:17 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-05 15:46 Can git send-email support neomutt? Wu Zhenyu
2022-11-05 18:10 ` brian m. carlson
2022-11-06  9:02   ` Wu Zhenyu
     [not found]   ` <20221106085820.m53mwajd5yfsyri4@desktop>
2022-11-06  9:14     ` brian m. carlson
2022-11-06 10:17       ` Wu Zhenyu

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 read-only IMAP folder(s) and NNTP newsgroup(s).