Discussion:
Specifying account profile in MSMTP
Robert Dailey
2014-09-24 16:52:51 UTC
Permalink
Hey guys,

I'm using MSMTP to define 2 accounts: Work email and personal email.
If I send patches via email through Git at work, I want to use my work
SMTP server and account information. Likewise at home for personal
projects, I want to use my personal SMTP account.

I put my .gitconfig in Dropbox and I share it across all of my
machines, so I avoid putting my SMTP server information in my global
config because I'd then have to use the same account everywhere.
However, I do not define a "default" account in my MSMTP file (which
is also in dropbox, in fact my whole home directory is in there).

Is there a way to specify the MSMTP account to use at the command line
when I run `git send-email`? If not, are there other good solutions to
this problem?

If not, I might contribute an option to send-email to feed down into
MSMTP.exe so that I can specify the account to use. I'm not familiar
at all with MSMTP so I want to ask here first. Thank you!
Eric Wong
2014-10-19 00:46:02 UTC
Permalink
Post by Robert Dailey
Hey guys,
I'm using MSMTP to define 2 accounts: Work email and personal email.
If I send patches via email through Git at work, I want to use my work
SMTP server and account information. Likewise at home for personal
projects, I want to use my personal SMTP account.
I put my .gitconfig in Dropbox and I share it across all of my
machines, so I avoid putting my SMTP server information in my global
config because I'd then have to use the same account everywhere.
However, I do not define a "default" account in my MSMTP file (which
is also in dropbox, in fact my whole home directory is in there).
Is there a way to specify the MSMTP account to use at the command line
when I run `git send-email`? If not, are there other good solutions to
this problem?
msmtprc can be configured to picks accounts based on the envelop sender
specified by git send-email.

I make sure my email address in the git commits is correct and use
use envelopesender=auto for git send-email when using msmtp.

Config examples below:

----------- ~/.gitconfig ---------------
[sendemail]
smtpserver = /usr/bin/msmtp
envelopesender = auto

---- /path/to/project_a/.git/config ----
[user]
email = ***@example.com
---- /path/to/project_b/.git/config ----
[user]
email = ***@example.com
------------ ~/.msmtprc ----------------
account a
host ...
from ***@example.com
user a
password ...
auth ...

account b
host ...
from ***@example.com
user b
password ...
auth ...

Loading...