利用阿里云“邮件推送”来配置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中尝试发送验证邮件,成功!

相关推荐
乐闻x15 分钟前
VSCode 插件开发实战(十二):如何集成Git操作能力
ide·git·vscode
旺旺大力包4 小时前
【 Git 】git 的安装和使用
前端·笔记·git
Domain-zhuo6 小时前
Git和SVN有什么区别?
前端·javascript·vue.js·git·svn·webpack·node.js
沛沛老爹6 小时前
CI/CD是什么?
运维·git·ci/cd
向阳花花花花8 小时前
git clone 和 conda 换源
git·conda
sin220116 小时前
idea集合git使用
git
木心18 小时前
Git基本操作快速入门(30min)
git·github
LXL_2419 小时前
Git_撤销本地commit_查找仓库中大文件
git
yg_小小程序员20 小时前
鸿蒙开发(16)使用DevEco Studio上的Git工具进行多远程仓管理
git·华为·harmonyos