David
发布于 2015-05-10 / 15 阅读 / 0 评论 / 0 点赞

GitLab 7.10.0无法发送邮件

前阵子作死把本地的Gitlab从7.2升上7.10版本,发现原先发送邮件的配置方式不生效(配置错误),一共有两个错误 用gitlab-ctl tail可以实时查看所有执行日志 错误信息一: 553 Mail from must equal authorized user 如果用的是网易的邮箱,那么SMTP中的用户名应该是“用户名@163.com”,即必须是完整的邮件帐号 错误信息二: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed 由于我用的只是普通的SMTP协议,并有加密什么的,而新版本的gitlab默认使用ssl安全连接,这显然就是牛头不对马嘴 而且新版本的配置方式貌似跟之前有比较大的变化,之前可以直接写在核心配置里,现在不行了,使用gitlab-ctl configure会把/etc/gitlab/gitlab.rb中的配置覆盖核心配置 这是个不错的设定......直接写在一个文件里 如上,编辑/etc/gitlab/gitlab.rb,贴上SMTP邮箱配置信息
#E-mail Setting
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "xxxxxxx@163.com"
gitlab_rails['smtp_password'] = "xxxxxxxxx"
gitlab_rails['smtp_domain'] = "163.com"
gitlab_rails['smtp_authentication'] = "login"
#取消自动使用SSL
gitlab_rails['smtp_enable_starttls_auto'] = false
gitlab_rails['smtp_openssl_verify_mode'] = "peer"

gitlab_rails['gitlab_email_from'] = "xxxxxxx@163.com"
user["git_user_email"] = "xxxxxxx@163.com"
在如上使用gitlab-ctl reconfigure.....继续在前台发送测试邮件 如果还有错误,呵呵,自己看着办吧