利用阿里云“邮件推送”来配置GitLab发送邮件

一般大型服务商对邮件推送的端口(25)都做了关闭,这使得我在配置GitLab的邮件认证服务的时候,遇到了匆匆阻碍。本来想使用Postfix来进行邮件的推送,很多教程也是这样教学的,但是Postfix没有办法更改邮件推送的端口,如果要改,还要另外配置一个中转的SMTP服务器,这就显得非常的臃肿了。

本来其实这也就是一件小事,因为我配置的这个GitLab服务器,本身使用的人数并不会太多,而邮件服务最多运用于用户注册及推送。但是我就是一个如果遇到问题就一定要想办法解决的人!!生命不止,折腾不止!

后来想到的解决方法是不使用Postfix,在gitlab上直接配置qq邮箱的SMTP,但是无论怎么尝试,都没有办法发出邮件。SPF 和 DMARC 都配置了也还是发不出去。qq邮箱又不能获取DKIM公钥(企业邮箱可以),不得不说qq邮箱是真不好用......

就在不知所措的时候,在阿里云发现一个可用的服务------邮件推送 ,它能够通过80 端口来发送邮件,完美的解决了我的问题。

那就一起来看看怎么利用阿里云的邮箱推送来配置GitLab发送邮件

1. 获取邮件推送 SMTP 服务器信息

首先,在左侧找到发件域名,点击右上角的新建域名。

登记一个用于发件的域名,最好是二级域名 (例如 mail.xxx.com)。点击配置,按照配置中的提示,去DNS服务商进行域名解析的配置。

配置完毕,点击验证,所有通过验证会显示可使用

然后在左侧点击发件地址,找到新建发件地址。发件域名选择刚刚验证通过的域名。设置好后点击确定。

最后点击设置SMTP密码,设置密码。建议随机生成一串字符串。

2. 在gitlab配置文件中进行配置:

然后根据网站上的提示:

SMTP服务地址: smtpdm.aliyun.com ,SMTP服务端口号:25或80或465(SSL加密)。

编辑gitlab的配置文件。

sudo vim /etc/gitlab/gitlab.rb

找到配置邮箱的这个模块,按照下面的提示填写:

bash 复制代码
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtpdm.aliyun.com" #SMTP地址
gitlab_rails['smtp_port'] = 80 #端口,可选25,80,465(SSL加密),25端口在阿里云无法使用,我选择了80端口
gitlab_rails['smtp_user_name'] = "xxx@xxx" #发信地址,同网页设置
gitlab_rails['smtp_password'] = "xxx" #设置的SMTP密码
gitlab_rails['smtp_domain'] = "xxx.xxx.com" #你的发信域名
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false #使用465 SSL端口则true

修改完成后,:wq 保存文件。

3. 应用配置并 重启 GitLab:

执行以下命令来重新配置并重启 GitLab:

sudo gitlab-ctl reconfigure

sudo gitlab-ctl restart

接下来到GitLab中尝试发送验证邮件,成功!

相关推荐
编码小袁26 分钟前
深入了解Git、GitHub、GitLab及其应用技巧
git·gitlab·github
清源妙木真菌3 小时前
Linux:git的了解和基础使用(保姆级教程)
git
但老师11 小时前
Git遇到“fatal: bad object refs/heads/master - 副本”问题的解决办法
git
秃头女孩y11 小时前
git创建分支
git
研究是为了理解16 小时前
Git Bash 常用命令
git·elasticsearch·bash
DKPT17 小时前
Git 的基本概念和使用方式
git
Winston Wood20 小时前
一文了解git TAG
git·版本控制
喵喵先森20 小时前
Git 的基本概念和使用方式
git·源代码管理
xianwu5431 天前
反向代理模块
linux·开发语言·网络·git
binishuaio1 天前
Java 第11天 (git版本控制器基础用法)
java·开发语言·git