给gitlab-ce 16.6.0配置邮件服务

本文以企鹅家的smtp服务器为例。
如何获取smtp_password参考gitlab配置邮件通知
上文中 gitlab.rb 的配置内容有一点小问题,以下是我实际使用的。

注意一:smtp_tlssmtp_enable_starttls_auto是互斥的,必须有一个设为false。SMTP服务提供方通常使用端口465 for TLS,端口587 for STARTTLS。在此例中,使用TLS。

如果都配成true,错误提示信息如下:

gitlab_rails['smtp_tls'] and gitlab_rails['smtp_enable_starttls_auto'] are mutually exclusive. Set one of them to false. SMTP providers usually use port 465 for TLS and port 587 for STARTTLS.
$ sudo vi /etc/gitlab/gitlab.rb

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "<my_qq_id>@qq.com"
gitlab_rails['smtp_password'] = "<my_smtp_password>"
gitlab_rails['smtp_domain'] = "smtp.qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = false
gitlab_rails['smtp_tls'] = true  # 与'smtp_enable_starttls_auto'只能有一个为true

注意二:gitlab_email_from 必须和上面的 smtp_user_name 一致。SMTP server以此避免服务器被垃圾邮件利用。

如果不一致,错误提示信息如下:

/opt/gitlab/embedded/lib/ruby/gems/3.0.0/gems/net-smtp-0.3.3/lib/net/smtp.rb:1076:in `check_response': 501 Mail from address must be same as authorization user. (Net::SMTPSyntaxError)
##! If your SMTP server does not like the default 'From: gitlab@gitlab.example.com'
##! can change the 'From' with this setting.
# gitlab_email_from 必须和 smtp_user_name 一致。smtp server以此避免服务器被垃圾邮件利用
gitlab_rails['gitlab_email_from'] = '<my_qq_id>@qq.com'
gitlab_rails['gitlab_email_display_name'] = 'gitlab server'
gitlab_rails['gitlab_email_reply_to'] = 'noreply@my_company'  # 这里可以随便写

#再修改了配置文件之后要重新加载配置文件
$ gitlab-ctl reconfigure

用gitlab console测试一下邮件发送功能。我的环境启动有点慢,用了26秒多。不知道是否能快一点,知道的请给我留言,谢谢!

# 在gitlab服务器上面测试
$ gitlab-rails console
Ruby:         ruby 3.0.6p216 (2023-03-30 revision 23a532679b) [x86_64-linux]
GitLab:       16.6.0 (6d558d71eba) FOSS
GitLab Shell: 14.30.0
PostgreSQL:   13.11
------------------------------------------------------------[ booted in 26.48s ]
irb(main):001:0> Notify.test_email('<my_account@my_company>', 'Say hi from gitlab', 'This is a test').deliver_now

# 成功信息
Delivered mail 659bbf3e672ac_8ce012d78-4f2@my_hostname.mail (1385.8ms)
=> #<Mail::Message:451400, Multipart: false, Headers: <Date: Mon, 08 Jan 2024 17:24:14 +0800>, <From: gitlab server <my_qq_id@qq.com>>, <Reply-To: gitlab server <noreply@xxx>>, <To: my_account@my_company>, <Message-ID: <659bbf3e672ac_8ce012d78-4f2@my_hostname.mail>>, <Subject: Say hi from gitlab>, <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):002:0>
  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值