邮件是GitLab
不得不配置的一块, 它提供了代码提交提醒, 用户密码找回等功能. GitLab也提供了几种邮件配置方案, 有使用sendmail
, postfix
及 smtp
, 这里只介绍smtp
, 其中sendmail
太过于古老, 现在几乎被postfix
替代了, 而postfix
配置没有smtp
方便, 当然, 最主要的还是不想启动postfix
邮件服务器, 直接用第三方的服务
1. 修改配置文件, 指定参数
vi /etc/gitlab/gitlab.rb
# 依次修改
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.mxhichina.com"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "gitlab@yinnote.com"
gitlab_rails['smtp_password'] = "xxxxxx"
gitlab_rails['smtp_domain'] = "yinnote.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false
这里以阿里云企业邮箱配置为例子, 注意
smtp
端口号, 加密和不加密是不一样的
2. 修改gitlab
配置的发信人
# 继续修改配置
gitlab_rails['gitlab_email_from'] = "gitlab@yinnote.com"
user["git_user_email"] = "gitlab@yinnote.com"
当修改完成后, 记得重新加载配置并重启
gitlab-ctl reconfigure
gitlab-ctl restart
记住这里有一个坑, 如果你不配置发件人, 有些邮件服务器会发送失败, 所以我们最好把账号和发件人都配置了, 并且保持一致, 这样保证兼容问题
3. 测试
这个相对来讲就比较简单了, 你可以到登录页面, 点击忘记密码, 看是否有邮件发送过来, 正常情况会发送一封重置密码的邮件, 否则就得自己找原因了, 通过下列命令监听日志打印
gitlab-ctl tail
网友评论