安装Postfix(若未安装)
sudo apt update && sudo apt install postfix
安装时选择“Internet Site”,设置系统邮件域名(如yourdomain.com
)。
配置Postfix
编辑/etc/postfix/main.cf
,添加以下内容(以SMTP服务为例):
myhostname = yourdomain.com
relayhost = [smtp.yourmailprovider.com]:587
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_tls_security_level = encrypt
在/etc/postfix/sasl_passwd
中添加SMTP凭据:
[smtp.yourmailprovider.com]:587 your_email@example.com:your_password
生成密码映射并重启Postfix:
sudo postmap /etc/postfix/sasl_passwd
sudo systemctl restart postfix
配置GitLab邮件设置
编辑/etc/gitlab/gitlab.rb
:
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.yourmailprovider.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "your_email@example.com"
gitlab_rails['smtp_password'] = "your_password"
gitlab_rails['smtp_domain'] = "yourdomain.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['gitlab_email_from'] = 'your_email@example.com' # 设置发件人地址
(若使用Gmail等,需将smtp_tls
设为false
,并调整端口为465或587)
重启GitLab并测试
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
在GitLab管理界面(Settings > General > Email
)点击“Test email configuration”验证。
注意:
/var/log/gitlab/gitlab-rails/production.log
,用于排查配置错误。