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

相关推荐
happymaker062640 分钟前
git使用快速入门
git
不做超级小白1 小时前
从零到可用:在手机上用 Termux + Git + Obsidian 打造稳定同步环境(踩坑全记录)
git·智能手机
凡客丶1 小时前
Git安装与使用保姆教程【超详细】
git
android_cai_niao1 小时前
给Git项目添加多个远程仓库
git·gitee·github
胡小禾1 小时前
多账号下git自动切号
git
zhensherlock2 小时前
Protocol Launcher 系列:Working Copy 提交与同步全攻略
javascript·git·typescript·node.js·自动化·github·js
前端若水2 小时前
Git 全命令超级详细指南
大数据·git·elasticsearch
SiYuanFeng14 小时前
新手学Git:如何把本地 Git 项目上传到 GitHub
git·github
前端若水15 小时前
git回退并合并分支操作
git
程序员鱼皮20 小时前
Git WorkTree 是什么?凭什么能让 AI 编程效率翻倍?
git·ai·程序员·编程·ai编程