Gitlab配置邮箱
注意这里是Gitlab Omnibus版本的配置。配置邮箱后可以通过邮箱来做到注册、找回密码、已经通知的功能。这里配置的是腾讯的企业邮箱。
修改配置文件
编辑修改/etc/gitlab/gitlab.rb
来配置邮件功能
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "smtp.server" gitlab_rails['smtp_port'] = 465 gitlab_rails['smtp_user_name'] = "smtp user" gitlab_rails['smtp_password'] = "smtp password" gitlab_rails['smtp_domain'] = "example.com" gitlab_rails['smtp_authentication'] = "login" gitlab_rails['smtp_enable_starttls_auto'] = true gitlab_rails['smtp_openssl_verify_mode'] = 'peer'
# 如果你使用的SMTP服务是默认的 'From:gitlab@localhost' # 你可以修改这里的 'From' 的值。 gitlab_rails['gitlab_email_from'] = 'gitlab@example.com' gitlab_rails['gitlab_email_reply_to'] = 'noreply@example.com'
|
配置实例
QQ exmail (腾讯企业邮箱)
1 2 3 4 5 6 7 8 9
| gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "smtp.exmail.qq.com" gitlab_rails['smtp_port'] = 465 gitlab_rails['smtp_user_name'] = "xxxx@xx.com" gitlab_rails['smtp_password'] = "password" gitlab_rails['smtp_authentication'] = "login" gitlab_rails['smtp_enable_starttls_auto'] = true gitlab_rails['smtp_tls'] = true gitlab_rails['gitlab_email_from'] = 'xxxx@xx.com'
|
Gmail
1 2 3 4 5 6 7 8 9 10
| gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "smtp.gmail.com" gitlab_rails['smtp_port'] = 587 gitlab_rails['smtp_user_name'] = "my.email@gmail.com" gitlab_rails['smtp_password'] = "my-gmail-password" gitlab_rails['smtp_domain'] = "smtp.gmail.com" gitlab_rails['smtp_authentication'] = "login" gitlab_rails['smtp_enable_starttls_auto'] = true gitlab_rails['smtp_tls'] = false gitlab_rails['smtp_openssl_verify_mode'] = 'peer' # Can be: 'none', 'peer', 'client_once', 'fail_if_no_peer_cert', see http://api.rubyonrails.org/classes/ActionMailer/Base.html
|
网易163邮箱
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| # 通过SMTP来发送邮件 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" # 邮箱域:这里填写163.com就好 gitlab_rails['smtp_domain'] = "163.com" gitlab_rails['smtp_authentication'] = :login gitlab_rails['smtp_enable_starttls_auto'] = true ##修改gitlab配置的发信人 # 第一行配置一定要和163邮箱的账户名一样否则可能发送失败 gitlab_rails['gitlab_email_from'] = "xxuser@163.com" user["git_user_email"] = "xxuser@163.com"
|
更多实例查看中文文档
这里使用腾讯企业邮箱测试通过
测试邮件发送功能
配置完成后可以用Rails控制台验证邮件是否能发送成功。 在GitLab服务器上,执行 gitlab-rails console 进入控制台。 然后在控制台提示符后输入下面的命令 发送一封测试邮件:
1 2 3
| irb(main):003:0> Notify.test_email('destination_email@address.com', 'Message Subject', 'Message Body').deliver_now # 示例 Notify.test_email('收件人邮箱', '邮件标题', '邮件正文').deliver_now
|