0


Gitlab配置邮件发送服务

  上次在自己的服务器上面安装了一个Gitlab服务,折腾半天终于可以正常访问并使用了,但是遇到重置密码的时候突然发现发不出去邮件,气死我了😤。于是便想着把邮件发送服务给修复一下,这样以后用起来也更方便不是。好了,下面我们开始配置Gitlab邮件发送服务吧!

注:本次的Gitlab版本为:v_13.10.3,此版本已亲测有效,其他版本仅供参考哦。

一、申请电子邮箱,并开通 SMTP 服务

我个人比较喜欢使用 网易邮箱(俗称163邮箱),下面我将使用网易邮箱进行配置。

  1. 申请电子邮箱比较简单,到网易邮箱官网注册一个就好了,注册好了之后登录进入主页,然后找到“设置”按钮,点击打开菜单,找到“POP3/SMTP/IMAP”项,点击进入设置界面,如下:

设置-SMTP

  1. 打开 SMTP 设置界面,如下:

SMTP

  1. 点击“开启”按钮,开启SMTP服务,如下:

SMTP-Start

注意:开启的时候会校验手机号码,需要发送短信到指定号码进行校验。手机号校验成功后记得保存授权密码,等会配置文件中需要使用!

可以将"IMAP/SMTP服务"和"POP3/SMTP服务"都开启。

二、修改Gitlab配置文件 gitlab.rb

  1. 登录到部署了 Gitlab 服务的服务器上面,切换到Gitlab的配置文件目录下,如下:
cd /etc/gitlab/
  1. 编辑 Gitlab 配置文件 gitlab.rb ,如下:
vim gitlab.rb
  1. 编辑如下配置信息:

执行

vim gitlab.rb

即可进入文件编辑界面,按键盘上面的 ‘i’ 键进入输入状态,输入完成后按键盘上面的 ‘esc’ 按钮推出编辑,输入 ‘:wq’ (英文冒号哦)即可退出编辑。

# 启用 smtp 服务
gitlab_rails['smtp_enable']=true# 配置 smtp 服务地址,这里需要填写邮件服务里面的“SMTP服务器地址”(如下是网易163邮箱的smtp服务器地址)
gitlab_rails['smtp_address']="smtp.163.com"# 配置 smtp 服务的端口号(默认)
gitlab_rails['smtp_port']=465# 配置发送邮件的电子邮箱名称(即刚才注册的邮箱名称)
gitlab_rails['smtp_user_name']="[email protected]"# 配置发送邮件的电子邮箱授权密码,刚才在邮箱里面开启 SMTP 服务的时候弹框提示的那一串【授权密码】(切记:这里不是邮箱的登录密码,是SMTP的授权密码)
gitlab_rails['smtp_password']="xxAxxSxxDx"# 配置 SMTP 服务的域名,和上面的smtp服务器地址一致(如下是网易163邮箱的smtp域名)
gitlab_rails['smtp_domain']="smtp.163.com"# 配置 SMTP 鉴定类别(默认 login 即可)
gitlab_rails['smtp_authentication']="login"# 开启纯文本通信协议扩展
gitlab_rails['smtp_enable_starttls_auto']=true# 开启 smtp_tls (传输安全)
gitlab_rails['smtp_tls']=true# gitlab 服务邮件发送来源邮箱(即发出邮件的发送方邮箱),填写刚才注册的邮箱即可
gitlab_rails['gitlab_email_from']='[email protected]'
  1. 完成了上面的配置后,进入到 Gitlab 服务的 bin 目录(如果你配置了系统环境变量 PATH 则不需要切换目录),然后执行如下命令进行更新服务:
# 重新加载配置信息
gitlab-ctl reconfigure
# 重新启动服务
gitlab-ctl restart
  1. 验证邮件发送服务是否可用:

  第一步:执行如下命令进入到控制台中:

gitlab-rails console

  第二步:执行发送邮件脚本测试发送邮件是否正常:

Notify.test_email('[email protected]', 'title', 'body').deliver_now

  注意:上面的参数‘xxx@163.com’是你要测试接收邮件的邮箱,‘title’是你要测试发送邮件的主题,‘body’是你要测试发送邮件的内容信息。

如下是完整的测试操作信息

[root@hy gitlab]# gitlab-rails console
--------------------------------------------------------------------------------
 Ruby:         ruby 2.7.2p137 (2020-10-01 revision 5445e04352)[x86_64-linux]
 GitLab:       13.10.3 (b1774ad36a9) FOSS
 GitLab Shell: 13.17.0
 PostgreSQL:   12.6
--------------------------------------------------------------------------------
Loading production environment (Rails 6.0.3.4)
irb(main):001:0> Notify.test_email('[email protected]', 'title', 'body').deliver_now
Notify#test_email: processed outbound mail in 1.0ms
Delivered mail [email protected] (2486.4ms)
Date: Mon, 03 May 202123:34:20 +0800
From: GitLab <[email protected]>
Reply-To: GitLab <[email protected]>
To: [email protected]
Message-ID: <[email protected]>
Subject: title
Mime-Version: 1.0
Content-Type: text/html;charset=UTF-8
Content-Transfer-Encoding: 7bit
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd"><html><body><p>body</p></body></html>=>#<Mail::Message:194400, Multipart: false, Headers: <Date: Mon, 03 May 2021 23:34:20 +0800>, <From: GitLab <[email protected]>>, <Reply-To: GitLab <[email protected]>>, <To: [email protected]>, <Message-ID: <[email protected]>>, <Subject: title>, <Mime-Version: 1.0>, <Content-Type: text/html; charset=UTF-8>, <Content-Transfer-Encoding: 7bit>, <Auto-Submitted: auto-generated>, <X-Auto-Response-Suppress: All>>
irb(main):002:0>
  1. 至此,Gitlab 服务的邮件发送服务配置完成了,今后就可以愉快的通过发送电子邮件重置密码啦,哈哈哈哈!

注意事项

  1. 注意在开启邮箱 SMTP 服务的时候一定要记住授权密码(可以复制到文本中记下来);
  2. 配置 gitlab.rb 的时候 ‘smtp_password’ 一定要填写上面说到的开启 SMTP 服务的时候提示的授权密码,不要填写登录密码;
  3. 配置 smtp 服务信息的时候,比如:smtp端口号,smtp服务器地址,smtp域名等信息可以通过邮箱服务商提供的信息进行配置,切记不能随意配置哦。
标签: gitlab 服务器 运维

本文转载自: https://blog.csdn.net/qq_31417067/article/details/128517070
版权归原作者 在Java的肩膀上 所有, 如有侵权,请联系我们删除。

“Gitlab配置邮件发送服务”的评论:

还没有评论