Gitlab邮箱设置

和黑猫之家聊聊?

用阿里云企业邮箱作为Gitlab的邮箱SMTP服务。

申请阿里云企业邮箱

首先,需要在阿里云的控制台申请一个企业邮箱,这要求你至少有一个ECS服务器和对应的域名。我这里用的是10knet.com来申请的,每个阿里云账号只能申请一个免费企业邮箱。

阿里云企业邮免费版申请地址:https://wanwang.aliyun.com/mail/freemail/

Gitlab邮箱设置 linux学习 第1张

image

如果你的公司在使用【钉钉】,那么也可以免费获得一个企业域名后缀的免费邮箱。

申请成功之后在阿里云官网的【控制台-企业邮箱】可以看到邮箱的基本信息。

Gitlab邮箱设置 linux学习 第2张

image

注意这里的管理员账号是postmaster@10knet.com,我们从阿里云企业邮箱网址https://qiye.aliyun.com用这个账号登录,如果不知道密码你可以先【重置密码】。

登录之后进入【账号管理】(或右上角的小扳手域管理),设置员工账号,你可以创建一个类似service@10knet.com的账号,用来专门发送各种自动邮件,设置好之后建议测试一下这个新账号登录企业邮箱是否能正常。

查看SMTP设置

用管理员账号登录企业邮箱,在管理设置右上角进入【帮助中心】,然后搜索SMTP,找到企业邮箱的POP3、SMTP、IMAP地址是什么?,点进去可以得到以下信息:

企业邮箱POP、SMTP、IMAP地址列表如下:
(阿里云邮箱web端通用访问地址:https://qiye.aliyun.com/),客户端推荐以下参数配置:
协议    服务器地址   服务器端口号(常规)  服务器端口号(加密)
POP3    pop.qiye.aliyun.com 110 995IMAP    imap.qiye.aliyun.com    143 993SMTP    smtp.qiye.aliyun.com    25  465以下老地址和上面新地址一样可以正常使用:
 协议     服务器地址   服务器端口号(常规)  服务器端口号(加密)
 POP3     pop3.mxhichina.com  110     995
 SMTP     smtp.mxhichina.com  25  465
 IMAP     imap.mxhichina.com  143     993推荐您使用加密端口连接,更加安全,使用时请注意加密端口是否已在您的本地电脑和网络中开放。

我们需要关注SMTP的服务器地址和加密端口号,稍后要用到。

设置Gitlab.rb

用sftp工具登录你的Gitlab部署的服务器,找到/etc/gitlab/gitlab.rb文件并打开编辑,添加如下内容。

gitlab_rails['smtp_enable'] = true
gitlab_rails['gitlab_email_from'] = 'service@10knet.com'
gitlab_rails['gitlab_email_display_name'] = '10knet.com'
gitlab_rails['gitlab_email_reply_to'] = 'service@10knet.com'
gitlab_rails['smtp_address'] = "smtp.qiye.aliyun.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "service@10knet.com"
gitlab_rails['smtp_password'] = "你的邮箱密码"
gitlab_rails['smtp_domain'] = "10knet.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true

需要特别注意的是端口选择465,不要忘记最后一行gitlab_rails['smtp_tls'] = true。否则后面发送测试邮件可能遇到eoferror (end of file reached)net::opentimeout (execution expired)的问题。

修改保存,上传更新Gitlab.rb之后,执行下面的命令刷新设置并重新启动Gitlab:

gitlab-ctl reconfigure
gitlab-ctl restart

发送测试邮件

上面的两个命令成功之后,我们用下面的命令进入Gitlab控制台状态。

gitlab-rails console

稍等会出现提示

------------------------------------- GitLab:       13.1.1 (bdb9883705a) FOSS
 GitLab Shell: 13.3.0 PostgreSQL:   11.7
 -------------------------------------

然后输入下面的命令发送测试邮件:

Notify.test_email("88888888@qq.com","title","gitlab").deliver_now

正常的话将收到成功的提示,邮件也会正确的发送到指定邮箱。

来黑猫之家看看呗

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Copyright © 2015-2019 | 黑猫吧(www.heimaoba.cn) | 赣ICP备18005425号-1 |