Centos远程Git服务器上配置Gitblit邮件通知
- 1、远程登陆阿里云服务器
- 2、修改配置defaults.properties
- 3、配置Web端GitBlit
- **(1) 添加hooks勾子**
- **(2)添加邮件列表(多个邮件用空格或逗号隔离)**
- 4、阿里云后台放开465端口
- 5、测试
- 6、通过Log查看收不到邮件问题
- **问题1**
- **问题2**
- **问题3** 邮件被拒发
本文主要讲述在阿里云Centos上部署Gitblit 的QQ邮箱的邮件通知。
注:我的Gitblit路径为 /opt/gitblit/
1、远程登陆阿里云服务器
用工具如SourceCRT、Xshell等
2、修改配置defaults.properties
主要配置以下内容:
mail.server = smtp.qq.com //发送服务器域名
mail.port = 465 //发送服务器端口
mail.smtps = true //使用SSL加密
mail.starttls = true //使用TLS加密
mail.username = ethan-xxx@qq.com //用于发送邮件的邮箱全名
mail.password = ruvminkokexxxxxx //发送的邮箱的授权码,注意,不是常用的登陆密码,(如何获取授权码?)
mail.fromAddress = ethan-xxx@qq.com //用于发送邮件的邮箱
命令行如下:
cd /opt/gitblit/data/
vim defaults.properties //需要会使用vim编辑器
//配置上方内容,:wq保存退出
reboot //不知道如何重启gitblit服务,干脆直接重启服务器
如图:
3、配置Web端GitBlit
(1) 添加hooks勾子
在post-receive脚本添加sendmail勾子,切记点“保存”;(正常情况配置完2点之后, 会继承sendemail,以防万一,还是将sendmail添加到Seleted框)
(2)添加邮件列表(多个邮件用空格或逗号隔离)
4、阿里云后台放开465端口
步骤:进入实例 -> 本实例安全组 -> 配置规则 -> 添加安全组规则
5、测试
//将本地修改版本Push到远程Git服务器
git add .
git commit
git push -u origin master
执行push后,片刻后查看3.(2)邮件列表添加的邮箱有无收到邮件;
6、通过Log查看收不到邮件问题
vim /opt/gitblit/data/logs/gitblit.log //当天的日志文件是没加时间日期的
问题1
javax.mail.MessagingException: Could not connect to SMTP host: smtp.exmail.qq.com, port: 465, response: -1
原因:未启用ssl
解决方法:检查配置文件是否打开 mail.smtps = true 和 mail.starttls = true
问题2
javax.mail.AuthenticationFailedException: 535 Error: ÇëʹÓÃÊÚȨÂëµÇ¼¡£ÏêÇéÇë¿´: http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256
原因:密码校验失败。
解决方法:配置文件中mail.password不能是登陆密码,必须为授权码;根据网址进入QQ邮箱帮助中心查看如何获取授权码。
如图:开启IMAP/SMTP时,会获取授权码;
问题3 邮件被拒发
原因:频繁测试邮件发送,会被QQ邮箱误判为垃圾邮件而拒发
解决方法:被拒发后,需要在邮件客户端输入验证码方可成功发送邮件