首页 > 其他分享 >配置Gitlab支持SMTP发送邮件

配置Gitlab支持SMTP发送邮件

时间:2024-02-29 19:22:06浏览次数:31  
标签:06 Gitlab Feb cn gitlab SMTP amihome root 邮件

不配置SMTP都无法工作了

目前的版本Gitlab 16.9.0,管理员在创建用户的时候,管理员无法给用户指定初始密码。初始密码只能以邮件的形式,发送到用户的邮箱。

img

因此有了此篇博文,为我们的Gitlab服务器做好正确的SMTP配置。

找到Gitlab的config文件夹

如果您的Gitlab,是根据我们的文章安装的,那么gitlab.rb文件就是在这个位置:

volumes:
      - '/mnt/disk5t/data/gitlab.amihome.cn/config:/etc/gitlab'

就是docker-compose.yml文件中配置的第一条映射,就是Gitlab容器中的config文件所在的位置

列出config文件夹下的全部文件:

root@dev-server:/mnt/disk5t/data/gitlab.amihome.cn/config# ls -l
total 204
-rw------- 1 root root 151884 Feb 25 06:35 gitlab.rb
-rw------- 1 root root  19095 Feb 26 07:27 gitlab-secrets.json
-rw------- 1 root root    505 Feb 25 06:35 ssh_host_ecdsa_key
-rw-r--r-- 1 root root    173 Feb 25 06:35 ssh_host_ecdsa_key.pub
-rw------- 1 root root    399 Feb 25 06:35 ssh_host_ed25519_key
-rw-r--r-- 1 root root     93 Feb 25 06:35 ssh_host_ed25519_key.pub
-rw------- 1 root root   2590 Feb 25 06:35 ssh_host_rsa_key
-rw-r--r-- 1 root root    565 Feb 25 06:35 ssh_host_rsa_key.pub
drwxr-xr-x 2 root root   4096 Feb 25 06:38 ssl
drwxr-xr-x 2 root root   4096 Feb 25 06:35 trusted-certs

查看gitlab.rb

Gitlab在安装成功后,SMTP部分的配置如下图:

img

直接编辑gitlab.rb

img

img

在Gitlab容器里,发送测试邮件

下边是完整的过程:

root@dev-server:/home/david/files# docker exec -it gitlab.amihome.cn /bin/bash
root@gitlab:/# gitlab-rails console
--------------------------------------------------------------------------------
 Ruby:         ruby 3.1.4p223 (2023-03-30 revision 957bb7cb81) [x86_64-linux]
 GitLab:       16.7.6-jh (4798a958233) EE
 GitLab Shell: 14.32.0
 PostgreSQL:   14.10
------------------------------------------------------------[ booted in 19.87s ]
Loading production environment (Rails 7.0.8)
irb(main):001:0> Notify.test_email('[email protected]', 'title', 'body').deliver_now
Delivered mail [email protected] (18.1ms)
/opt/gitlab/embedded/lib/ruby/gems/3.1.0/gems/net-protocol-0.1.3/lib/net/protocol.rb:46:in `connect_nonblock': SSL_connect returned=1 errno=0 peeraddr=192.168.3.250:465 state=error: certificate verify failed (self signed certificate) (OpenSSL::SSL::SSLError)
irb(main):002:0> 

说明邮件发不出去,是我们的SSL证书校验失败了。

在给邮件服务器正确配置SSL证书之后,再次测试。直至成功。

完整输出如下:

root@dev-server:/home/david/files# docker exec -it gitlab.amihome.cn /bin/bash
root@gitlab:/# gitlab-rails console
--------------------------------------------------------------------------------
 Ruby:         ruby 3.1.4p223 (2023-03-30 revision 957bb7cb81) [x86_64-linux]
 GitLab:       16.7.6-jh (4798a958233) EE
 GitLab Shell: 14.32.0
 PostgreSQL:   14.10
------------------------------------------------------------[ booted in 19.87s ]
Loading production environment (Rails 7.0.8)
irb(main):001:0> Notify.test_email('[email protected]', 'title', 'body').deliver_now
Delivered mail [email protected] (18.1ms)
/opt/gitlab/embedded/lib/ruby/gems/3.1.0/gems/net-protocol-0.1.3/lib/net/protocol.rb:46:in `connect_nonblock': SSL_connect returned=1 errno=0 peeraddr=192.168.3.250:465 state=error: certificate verify failed (self signed certificate) (OpenSSL::SSL::SSLError)
irb(main):002:0> Notify.test_email('[email protected]', 'title', 'body').deliver_now
Delivered mail [email protected] (152.5ms)
/opt/gitlab/embedded/lib/ruby/gems/3.1.0/gems/net-smtp-0.3.3/lib/net/smtp.rb:1076:in `check_response': 550 Error: no such user <[email protected]> (Net::SMTPFatalError)
irb(main):003:0> Notify.test_email('[email protected]', 'title', 'body').deliver_now
Delivered mail [email protected] (154.8ms)
=> #<Mail::Message:2108900, Multipart: false, Headers: <Date: Thu, 29 Feb 2024 11:13:21 +0000>, <From: AMI Home Gitlab <[email protected]>>, <Reply-To: AMI Home 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):004:0> 

去poste.io的后台,给邮件服务器配置SSL证书

请移步到这里:

标签:06,Gitlab,Feb,cn,gitlab,SMTP,amihome,root,邮件
From: https://www.cnblogs.com/amisoft/p/18045010/gitlab-configure-smtp

相关文章

  • docker-compose安装Gitlab Runner
    系列文章GitlabRunner的docker-compose.ymlversion:'3'services:home:image:'gitlab/gitlab-runner:v16.9.0'scale:2restart:alwaysprivileged:truevolumes:-./config:/etc/gitlab-runner准备好文件之后,放在某个文件夹下root......
  • 在极狐GitLab 配置 SSL/https
    本文作者徐晓伟说明极狐GitLabhttps使用的是nginx实现的本文使用的域名是IP192.168.80.14(原因:如果使用域名,必须拥有这个域名的所有权,并增加解析才可以,要不然在Docker容器中,无法使用域名检出代码,因为根据域名找不到DNS记录)如果使用自己生成的证书,git检出代码、推送......
  • 国产数据库兼容性认证再下两城,极狐GitLab 国产适配更进一步
    近日,极狐GitLab与两大国产数据库TDSQL和人大金仓完成兼容性认证。极狐GitLab在国产化适配、国产化生态建设上有了进一步的发展。极狐GitLab团队分别和TDSQL和人大金仓数据库团队做了严格的测试验证,完成了这两大国产数据库和极狐GitLab企业级一体化DevOps平台的兼容性认......
  • 发邮件的工具类
    importjavax.mail.*;importjavax.mail.internet.InternetAddress;importjavax.mail.internet.MimeMessage;importjava.util.Properties;/***发邮件工具类*/publicfinalclassMailUtils{privatestaticfinalStringUSER="";//发件人称号,同邮箱地址......
  • 制作docker方式执行Gitlab Runner所需要的镜像
    背景知识启动GitlabRunner时,使用Gitlab提供的官方镜像gitlab/gitlab-runner:latest即可。Runner以容器的方式启动以后,根据前文我们注册到Gitlab服务器,然后就可以等着执行“流水线”里面的“作业”了。执行“作业”是要启动另外的容器的,在这个容器里面才能运行dotnetbuild、do......
  • Gitlab 16.9.0 用Access Token注册Gitlab Runner
    升级到当前最新版Gitlab之后在“管理中心”的“CI/CD”--“Runners”下,提示以前的那种注册令牌的方式已经过时了。点击右上角按钮后,弹出对话框如下:上图画红框的信息,deprecated是不赞成,反对的意思。就是说注册令牌已经被放弃了,未来将会不支持。暂时还是可以用。点击蓝色按钮:N......
  • 云服务器发送邮件失败问题
    出现问题下面代码为使用golang给用户发送邮件功能:packagemainimport( "fmt" "gopkg.in/gomail.v2")funcmain(){ subject:="邮件标题" sendUserEmail:=[]string{"[email protected]","[email protected]"} text:="邮件内容" f......
  • Outlook邮箱设置规则处理自动化邮件的方式方法
    Outlook邮箱设置规则处理自动化邮件的方式方法背景软件自动化发布过程中会有大量的邮件发送.如果不进行处理,会有大量的无效邮件在收件箱显示.为了提高工作效率,避免无效的精力浪费可将部分成功的邮件全部迁移到指定目录,避免浪费大家的精力.outlook客户端其实有着很强的处......
  • 30.基于gitlab的持续集成机制
    一般代码提交流程开发人员从远程中央仓库(例如dev)拉取最新的代码本地创建自己的分支在自己的分支中进行开发在完成一个功能并通过自测后,提交本地版本库将本地版本库推送到远程中央仓库自己的分支在远程中央仓库自己的分支中,提交MergeRequest(合并请求,简称MR)。源......
  • c#发送邮件的简单封装类
    1publicclassEmailSender2{3privatestringsmtpServer;4privateintsmtpPort;5privatestringsenderEmail;6privatestringsenderPassword;7privatestringsubjectPrefix;8privatestringemailContex......