路漫漫其修远兮
吾将上下而求索

git学习:gitlab邮件发送

        前面介绍了GitLab CE的安装以及一些常用的配置。这篇文章将会介绍关于邮箱的配置。因为GitLab中涉及的邮箱过多,且容易混淆,而且学习的过程中有需要的疑惑和容易出错的地方,因此就单列一篇来介绍邮箱的配置,以便后续查阅。

        GitLab 中有两种邮箱的配置:系统邮箱配置和用户邮箱设置。系统邮箱用来为系统给用户发送一些系统邮件,而用户邮箱则用来接收系统邮件,例如代码合并、CI测试结果通知等。

这里只涉及到系统邮箱给用户发送邮件,不会存在用户给系统发送邮件的情况,这里只用设置系统邮箱的配置,系统邮箱即为GitLab CE安装的时候配置的邮箱,用来给用户发送系统邮件。如果安装了sendmail或者postfix等邮箱,则可配置相应的通用邮箱的设置即可

这里假定:

        系统邮箱为以公司域名结尾的邮箱

        公司邮箱用的是163企业邮箱

        系统邮箱地址为:admin@abc.com

        系统邮箱密码:abc

如果是腾讯云的主机,需要手动放开25号端口才可以

下面是需要修改的地方

[root@localhost /home/git/gitlab/config]#vim gitlab.yml   设置邮箱
email_from: admin@abc.com		#修改,表明这个是发件人地址

设置详细配置

[root@localhost /home/git/gitlab/config/initializers]#cp smtp_settings.rb.sample smtp_settings.rb    #复制一份模板出来

[root@localhost /home/git/gitlab/config/initializers]#cat smtp_settings.rb

if Rails.env.production?
  Gitlab::Application.config.action_mailer.delivery_method = :smtp    #设置为smtp方式

  ActionMailer::Base.smtp_settings = {
    address: "smtp.ym.163.com",    #这里的地址为163企业邮箱的smtp地址
    port: 25,    #端口为25
    user_name: "admin@abc.com",    #用户名为发件人地址
    password: "wertyu",    #密码
    domain: "163.com",    #这里为163的域名,
    authentication: :login,
    enable_starttls_auto: false
  }
end

如果是腾讯企业邮箱修改如下

[root@localhost /home/git/gitlab/config/initializers]#cat smtp_settings.rb
if Rails.env.production?
  Gitlab::Application.config.action_mailer.delivery_method = :smtp

  ActionMailer::Base.smtp_settings = {
    address: "smtp.exmail.qq.com",
    port: 25,
    user_name: "admin@abc.com",
    password: "wertyu",
    domain: "qq.com",
    authentication: :login,
    enable_starttls_auto: false
  }
end

修改邮件发送方式

[root@localhost /home/git/gitlab/config/environments]#vim production.rb 
config.action_mailer.delivery_method= :smtp

这样就将邮箱设置好了,以后所有用户,包括管理员的收到的邮件,包括用户邮箱确认邮件,更改密码邮件,系统管理员收到的邮件,发件人都是上面填写的邮箱地址。

在web界面设置,这里的邮箱可以和上面的邮箱不同,没有联系,经过测试,腾讯的企业邮箱地址在这里也可以,设置好后就可以愉快的玩耍了

image.png

要注意的问题

有可能邮件会被当做是垃圾邮件被拒绝发送给用户,可以在配置文件里面设置的邮箱里面的自助查询里面看下是否被拒绝发送了。

有的邮箱必须要用授权码来做配置邮箱的密码,才能正常发送,

每个企业的smpt服务器地址不同,需要查询

发送的日志可以查看,便于查找问题

[root@localhost /home/git/gitlab/log]#tail production.log

未经允许不得转载:江哥架构师笔记 » git学习:gitlab邮件发送

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址