Written by Sean Behan on Sun Jun 17th 2012

You need a Mail Transfer Agent MTA on the server. The easiest way is to install Sendmail, which Git uses by default.

apt-get install sendmail
Remember that /etc/hosts file needs the ip address to map to the domain name your sending mail from
# vim /etc/hosts
127.0.0.1     localhost localhost.localdomain
207.136.202.87    wwwexample.com
 
Sendmail has a tendency to hang when sending mail otherwise. To test sendmail
sendmail email@example.com
this is a test
how are you today world? 
.
The period on a line by itself denotes end of message and will terminate the prompt and deliver the message.

Now you need to configure Git to send email after it receives a "push" from a committer. You can add email addresses, or you can set up a mailing list to email all members. Either way, you accomplish this with the following command, just remember to cd into the git repository.

git config --add hooks.mailinglist "mailinglist@example.com"
Next you need to activate the post-receive hook, located in the hooks directory of your repository.
cp post-receive.sample post-receive
And uncomment the last line, which uses sendmail to deliver the commit message
# uncomment the last line but keep the period "."
. /usr/share/doc/git-core/contrib/hooks/post-receive-email
All done. Now just make some changes to your source code, add and commit them and you should receive an email with all the details!

Tagged with..
#/etc/hosts #committer #config #Git #mta #push #email #Git #Linux

Just finishing up brewing up some fresh ground comments...