1. 程式人生 > >gitlab搭建(2)---gitlab郵箱配置

gitlab搭建(2)---gitlab郵箱配置

官方gitlab郵箱配置指導:https://docs.gitlab.com.cn/omnibus/settings/smtp.html
以下是基於163郵箱的配置:
1.編輯/etc/gitlab/gitlab.rb
在這裡插入圖片描述
#Sending application email via SMTP
gitlab_rails[‘smtp_enable’] = true
gitlab_rails[‘smtp_address’] = “smtp.163.com
gitlab_rails[‘smtp_port’] = 25
gitlab_rails[‘smtp_user_name’] = "[email protected]

"
gitlab_rails[‘smtp_password’] = “131313”
gitlab_rails[‘smtp_domain’] = “163.com
gitlab_rails[‘smtp_authentication’] = :login
gitlab_rails[‘smtp_enable_starttls_auto’] = true

##修改gitlab配置的發信人
gitlab_rails[‘gitlab_email_from’] = "[email protected]"
user[“git_user_email”] = "[email protected]

"

2.配置完成後可以用Rails控制檯驗證郵件是否能傳送成功。 在GitLab伺服器上,執行 gitlab-rails console 進入控制檯。 然後在控制檯提示符後輸入下面的命令 傳送一封測試郵件:

irb(main):003:0> Notify.test_email('[email protected]', 'Message Subject', 'Message Body').deliver_now
# 示例
Notify.test_email('收件人郵箱', '郵件標題', '郵件正文').deliver_now

在這裡插入圖片描述

如上表述郵件傳送成功,然後登陸郵箱檢視是否收到郵件
在這裡插入圖片描述

問題:gitlab發郵件報550 User has no permission

當傳入傳送郵箱正確的使用者名稱和密碼時,總是收到到:550 User has no permission這樣的錯誤,

其實我們用gitlab傳送郵件時相當於自定義客戶端根據使用者名稱和密碼進行登入,然後使用SMTP服務傳送郵件。但新註冊的163郵件預設是不開啟客戶端授權驗證的(對自定的郵箱大師客戶端預設開啟),

因此登入總是會被拒絕,驗證沒有許可權。解決辦法是進入163郵箱,進入郵箱中心——客戶端授權密碼,選擇開啟即可,如下截圖

在這裡插入圖片描述
登陸163郵箱開啟客戶端授權密碼

在這裡插入圖片描述
設定完畢後,在/etc/gitlab/gitlab.rb代替原始的郵箱密碼,這樣就可以正確的傳送郵件了。