在CentOS上配置GitLab的邮件服务可以通过以下步骤完成。这些步骤包括安装和配置Postfix作为邮件传输代理(MTA),并设置GitLab以使用该服务发送通知邮件。
首先,确保你的系统是最新的:
sudo yum update -y
然后,安装Postfix:
sudo yum install postfix -y
编辑Postfix的主配置文件 /etc/postfix/main.cf:
sudo vi /etc/postfix/main.cf
进行以下配置:
myhostname = gitlab.example.com # 替换为你的主机名
mydomain = example.com # 替换为你的域名
myorigin = $mydomain
inet_interfaces = all
inet_protocols = ipv4
mydestination = $myhostname, localhost.$mydomain, $mydomain
relayhost =
mynetworks = 127.0.0.0/8 [::1]/128
home_mailbox = Maildir/
保存并退出编辑器。
启动Postfix服务并设置为开机自启:
sudo systemctl start postfix
sudo systemctl enable postfix
如果SELinux处于 enforcing 模式,可能需要调整策略以允许Postfix正常工作:
sudo setsebool -P httpd_can_sendmail 1
sudo setsebool -P postfix_enable_transports 1
编辑GitLab的配置文件 /etc/gitlab/gitlab.rb:
sudo vi /etc/gitlab/gitlab.rb
找到并修改以下配置项:
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "localhost" # 如果Postfix在同一台服务器上
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = nil # 如果不需要认证
gitlab_rails['smtp_password'] = nil # 如果不需要认证
gitlab_rails['smtp_domain'] = 'example.com' # 替换为你的域名
gitlab_rails['smtp_authentication'] = 'login' # 或其他认证方式
gitlab_rails['smtp_enable_starttls_auto'] = true
保存并退出编辑器。
运行以下命令以应用更改:
sudo gitlab-ctl reconfigure
你可以通过GitLab的Web界面或命令行测试邮件发送功能。例如,通过Web界面发送一封测试邮件:
Settings > General。Support contact email 下输入一个有效的电子邮件地址。Save changes。然后,检查你输入的电子邮件地址是否收到了测试邮件。
通过以上步骤,你应该能够在CentOS上成功配置GitLab的邮件服务。