Centos远程Git服务器上配置Gitblit邮件通知

    本文主要讲述在阿里云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邮箱误判为垃圾邮件而拒发

        解决方法:被拒发后,需要在邮件客户端输入验证码方可成功发送邮件

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容