本文采用msmtp+mutt+post-receive来搭建git邮件通知功能,操作系统环境为ubuntu10.04.
步骤一:安装及配置msmtp
a. 安装msmtp
$ sudo apt-get install msmtp
b. 配置msmtp
$ sudo vi /etc/msmtprc
defaults account shihaijun host smtp.exmail.qq.com from [email protected] auth login user [email protected] password shihaijun123 tls off account default : shihaijun logfile /var/log/msmtp.log
保存退出vim。
查看msmtp的配置: $msmtp -P
步骤二:安装配置mutt
a. 安装mutt
$sudo apt-get install mutt
b. 配置mutt
$ sudo vi /etc/Muttrc
在文件末尾增加如下内容
# for add Muttr by shihaijun set sendmail="/usr/bin/msmtp" set realname="Data Report" set editor="vi" set [email protected] set envelope_from=yes
保存退出。
步骤三:下载post-receive(见附件)
进入要增加邮件通知的服务器仓库,如图repo-list所示。
将post-receive拷贝到仓库的hooks目录下,如图hooks-dir所示。
并用以下命令增加post-receive的执行权限:
$sudo chmod a+x post-receive
步骤四:配置git config
进入仓库,编辑config。
$sudo vi config
增加字段[hooks],如下所示:
[hooks] sendmail=/usr/bin/msmtp emailprefix = "[GIT NOTICE]" showrev = "git show -c %s;echo" mailinglist = [email protected] envelopesender = [email protected]
至此,当在客户端执行git push动作时,就会有邮件通知发出。