當需要進行 賬號注冊,創建項目,或合並分支等操作時,可通過郵件通知、郵件驗證的方式實現。
1. SMTP服務
用於配置在服務端Gitlab注冊用戶時的郵件發送確認動作
我使用的是163郵箱,說一下注意點,登錄163郵箱,開啟“POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服務”,並設置授權碼;授權碼用於下面gitlab配置中的發件箱密碼
2. 服務端配置
$ cat >> /etc/gitlab/gitlab.rb<<EOF
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "發件箱名.163.com"
gitlab_rails['smtp_password'] = "授權碼"
gitlab_rails['smtp_domain'] = "163.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = '發件箱名.163.com'
user['git_user_email'] = "發件箱名.163.com"
EOF
3. 更新配置
$ gitlab-ctl stop
$ gitlab-ctl reconfigure
$ gitlab-ctl start
4. 郵件測試
$ gitlab-rails console
Loading production environment (Rails 4.2.10)
irb(main):001:0> Notify.test_email('542303xxx@qq.com', '郵件標題', '郵件正文').deliver_now
Notify#test_email: processed outbound mail in 243.5ms
Sent mail to 542303xxx@qq.com (365.9ms)
Date: Mon, 10 Dec 2018 16:21:51 +0800
From: GitLab <kailevxxx@163.com>
Reply-To: GitLab <noreply@122.xxx.204.xxx>
To: 542303xxx@qq.com
....
...
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www=
.w3.org/TR/REC-html40/loose.dtd">
<html><body><p>=E9=82=AE=E4=BB=B6=E6=AD=A3=E6=96=87</p></body></html>
=> #<Mail::Message:70175369260100, Multipart: false, Headers: <Date: Mon, 10 Dec 2018 16:21:51 +0800>, <From: GitLab <kailevxxx@163.com>>, <Reply-To: GitLab <noreply@122.xxx.204.xxx>>, <To: 542303xxx@qq.com>, <Message-ID: <5c0e221f2a160_7b623fd311ddb0fc25ac@gitlab.mail>>, <Subject: 郵件標題>, <Mime-Version: 1.0>, <Content-Type: text/html; charset=UTF-8>, <Content-Transfer-Encoding: quoted-printable>, <Auto-Submitted: auto-generated>, <X-Auto-Response-Suppress: All>>
等待半分鍾左右,如下圖所示,配置完成
[sleepy↓]