How to send Email using Git send-email via Gmail?

Git’s send-email feature provides a convenient way to send patches and other Git-related content via email directly from the command line. This can be particularly useful for submitting patches to mailing lists or collaborating with team members who prefer email communication. In this article, we’ll focus on setting up and using git send-email via Gmail’s SMTP server.

What is a patch?

A patch is a small file that indicates the changes made in a repository. It’s generally used when someone from outside your team has read-only access but had a good code change available. He then creates a patch and sends it to you.

Note: This tutorial is based on Ubuntu and expect you already have git installed in your system, if not you can check this tutorial on how to install git.

Steps to Send Email

Step 1: We will get started with installing the required package, git-email. This package is required in order to send the patch via email. To do this open any terminal of your choice and type in the command:

sudo apt-get install git-email

Step 2: Configure your global git config file in order to send emails using git. To do this type in the following command in your terminal and it will open the git config file in your default browser.

git config --global --edit

Step 3: Update the configuration file with the following details: 

...
...
[sendemail]
smtpserver = smtp.googlemail.com
smtpencryption = tls
smtpserverport = 587
smtpuser = youremail@gmail.com

Note: Don’t forget to change youremail@gmail.com with your actual email address.

And after editing the file same the file and quit the editor.

Step 4: Now this is one of the most import step as in this step we will be creating a .patch file. In order to create a patch you have to modify or make some changes to the repository that you want to contribute to and after making those changes, simple save those files and type this commands to create a patch.

git add .
git commit -m "your message"
git format-patch --to=senderemail@gmail.com HEAD~..HEAD

Note: The HEAD~ option tells git to create the patch of the latest commit only but if you want to create a patch of your last two commits then simply change HEAD~ to HEAD~2.

As you can see after successfully running those commands, a patch file is generated, and we will send this file using git send-email.

Step 5: Once we have the .patch file we can send this patch file to the person maintaining the repository or the one to whom the message is intended to be sent. To do this run the following command:

git send-email *.patch --to=receiver@gmail.com --cc=carboncopy@gmail.com

Note: Don’t forget to update the –to option and the –cc option with actual email addresses.

Once you run this command, git will ask for your Gmail password so Enter your password and you will get a success message once a message is successfully sent.

That’s it. Now wait for it to get reviewed and once reviewed and found valid your contribution will be successful.


Contact Us