Using git send email - wnoguchi/msysgit GitHub Wiki
When submitting patches to git and/or msysgit, the preferred method is to inline the patch into an e-mail to the mailing list. This can be done through the send-email tool that comes with git.
This guide assumes the following:
- Git for Windows / msysgit 1.6.4 (or later).
- An e-mail account that supports SMTP.
git send-email for Windows currently supports sending e-mail through MSMTP, a command-line tool for sending mail. In order to do this, you need to setup msmtp to send e-mail through your e-mail provider's smtp-server.
The msmtp configuration should be located in $HOME/msmtprc.txt
(bash) or %USERPROFILE%\msmtprc.txt
(cmd.exe). If the file doesn't exist, create it. The details on how to setup this configuration file can be found in the MSMTP Documentation.
# setup some defaults
defaults
tls_trust_file c:/msysgit/mingw/bin/curl-ca-bundle.crt
logfile ~/.msmtp.log
# create an account called "default"
account default
# setup server host and port
host smtp.gmail.com
port 587
# enable TLS
tls on
# try to enable this when "Testing MSMTP" hangs
# tls_starttls off
# set FROM address
from [email protected]
# setup authentication
auth on
user [email protected]
Replace "username" with your own GMail username.
Execute the command echo "test" | msmtp user@host
on the command line (where "user@host" should be your own e-mail address). This should work both from bash and cmd.exe. If you've set up msmtp to use authentication, you should get a password promtp. The program should exit cleanly, and an e-mail (with empty subject and the body "test") should have been sent to your e-mail account. If you don't get any e-mail, please consult the MSMTP Documentation.
The Git for Windows installer should setup sendemail.smtpserver
to /mingw/bin/msmtp.exe
. This can be verified by executing the command git config sendemail.smtpserver
. If this hasn't been set up yet, execute git config --global sendemail.smtpserver /mingw/bin/msmtp.exe
.
Go to a git-repo, and execute the following command
git send-email --suppress-cc=all --to user@host HEAD^
(where user@host is replaced with your e-mail address). This should send the most recent patch from that repo to your e-mail account.
Unable to initialize SMTP properly. Is there something wrong with your config?
at C:\msysgit/libexec/git-core/git-send-email line 929, <FIN> line 4.
This error is caused by git send-email when it's trying to send the e-mail directly, and not through ESMTP. This can be caused either by lacking git-config, or by your git installation not being up to date.
Have a look if your e-mail provider supports the STARTTLS behavior. If not, set "tls_starttls off" in the msmtp configuration.