一、配置SMTP,使GitLab通过163邮箱给用户发送邮件
vim /etc/gitlab/gitlab.rb
- 具体配置信息如下:
external_url 'http://XXXXX.com'
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "xxuser@163.com"
gitlab_rails['smtp_password'] = "xxpassword"
gitlab_rails['smtp_domain'] = "163.com"
gitlab_rails['smtp_authentication'] = :login
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['gitlab_email_from'] = "xxuser@163.com"
user["git_user_email"] = "xxuser@163.com"
- 说明:
external_url 'http://XXXXX.com' :是在邮件收到方展示的地址,可设置为git仓库地址,点击即可进入到git仓库。
gitlab_rails['smtp_password'] = "xxpassword" : 这个密码不是163的登录密码,这个密码要去163邮箱开通SMTP服务,申请一个授权码,这个授权码就是这里的登录密码。
二、重启配置:
gitlab-ctl reconfigure
三、实时查看所有执行日志
gitlab-ctl tail
四、可能遇到的问题:
1、Connection refused - connect(2) for "smtp.163.com" port 456
端口一开始填写为:456,这是不对的。163邮箱的端口是25.
2、User has no permission
登陆163邮箱,开启SMTP服务。
3、535 Error: authentication failed
用户名或密码不正确,注意这里的
gitlab_rails['smtp_password'] = "xxpassword"
是163邮箱的“客户端授权密码 ”
4、553 Mail from must equal authorized user
网易服务器smtp机器要求身份验证帐号和发信帐号必须一致
##修改gitlab配置
gitlab_rails['gitlab_email_from'] = "xxuser@163.com"
user["git_user_email"] = "xxuser@163.com"