美文网首页
修改配置文件,添加 smtp 邮件功能

修改配置文件,添加 smtp 邮件功能

作者: 一剑仙人跪_ | 来源:发表于2019-07-18 08:21 被阅读0次

假如你想让互联网的邮箱服务提供商,帮你的 gitlab 发送邮件,就需要在配置文件中设置,并且需要在邮件服务提供商那里开通 SMTPPOP3 功能。

关于 SMTP 和 POP3 的区别,访问 https://www.zhihu.com/question/24605584

这里简单说一下, SMTP 用于发邮件, POP3 用于收邮件。

这里我以 126 邮箱为例,演示一下
1.首先我们在邮箱服务提供商那里开通 SMTP 。

  1. 配置系统使用的发件邮箱地址等信息
    在配置文件: /etc/gitlab/gitlab.rb 中做如下修改
    这部分,不管是使用postmail或者SMTP都需要做如下的配置。
    # 是否开启系统邮箱,默认开启
    gitlab_rails['gitlab_email_enabled'] = true
    
    # 用这个账号去发送邮件
    gitlab_rails['gitlab_email_from'] = 'my@126.com'
    
    # 发送邮件中要显示的发件人名称
    gitlab_rails['gitlab_email_display_name'] = 'Admin'
    
    # 系统接收邮件的地址,一般系统发送的邮件都不要对其回复邮件
    gitlab_rails['gitlab_email_reply_to'] = 'noreply@example.com'
    
    # 邮件的标题前缀,如下图
    gitlab_rails['gitlab_email_subject_suffix'] = '[gitlab]'
image-20180628232501381.png

3.配置完系统的发件信息,接下来设置邮件服务提供商的账户登录验证信息。
要想使用邮件服务商为 gitlab 系统发送邮件,是需要进行登录, 登录就需要先验证的。
所以要填写相关用于登录验证的信息
值的注意的是,上面 gitlab_email_from 的账户必须和这里的用户名(smtp_user_name)一致。

    gitlab_rails['smtp_enable'] = true
    # 这个配置的密码不是邮箱的登陆密码而是网易邮箱的客户端授权密码, 
    # 在网易邮箱web页面的设置-POP3/SMTP/IMAP-客户端授权密码查看。
    # 见下图
    gitlab_rails['smtp_enable'] = true
    gitlab_rails['smtp_address'] = "smtp.126.com"
    gitlab_rails['smtp_port'] = 25
    # 使用这个账号发送邮件
    gitlab_rails['smtp_user_name'] = "my@126.com"
    gitlab_rails['smtp_password'] = "xxx"
    gitlab_rails['smtp_domain'] = "126.com"
    gitlab_rails['smtp_authentication'] = "login"
    gitlab_rails['smtp_enable_starttls_auto'] = true
    gitlab_rails['smtp_openssl_verify_mode'] = 'peer'
    # 发件人账号
    user['git_user_email'] = "username@domain.cn"
    # 更多查看下方网址
    # https://docs.gitlab.com/omnibus/settings/smtp.html
    # 如果你不配置发件人, 有些邮件服务器会发送失败, 
    # 所以我们最好把账号和发件人都配置了, 并且保持一致, 这样保证兼容问题
4.SMTP 客户端授权码 image-20180627191631085.png

qq邮箱的配置

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = 'smtp.qq.com'
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "xxxxxx@qq.com"
gitlab_rails['smtp_password'] = "pgecjrbcqsxdbefa"
gitlab_rails['smtp_domain'] = "smtp.qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false
gitlab_rails['gitlab_email_from'] = "xxxxxxx@qq.com"
gitlab_rails['gitlab_email_enabled'] = true
user['git_user_email'] = "xxxxxx@qq.com"
  1. 重器相关服务,使最新的配置文件生效
    [root@vm1 ~]# gitlab-ctl reconfigure    
    # 再重启一下
    [root@vm1 ~]# gitlab-ctl restart

使用gitlab-rails console命令进行发送邮件测试,如下所示:

irb(main):003:0> Notify.test_email('收件人邮箱', '邮件标题', '邮件正文').deliver_now

示例

    [root@vm1 ~]# gitlab-rails console 
    Loading production environment (Rails 4.2.10)
    irb(main):001:0>  Notify.test_email('xxxxxxxx@qq.com', 'Message Subject', 'Message Body').deliver_now
    ...
    irb(main):002:0>quit
    [root@vm1 ~]# 

相关文章

网友评论

      本文标题:修改配置文件,添加 smtp 邮件功能

      本文链接:https://www.haomeiwen.com/subject/coabkctx.html