Gitlab „enable_starttls und :tls schließen sich gegenseitig aus. Stellen Sie :tls ein, wenn Sie eine SMTPS-Verbindung haben.“

Die Konfiguration von Gitlab zum Senden von E-Mails lautet wie folgt (Snippet zur E-Mail-Konfiguration für Unternehmen von Tencent):

        gitlab_rails['smtp_enable'] = true
        gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
        gitlab_rails['smtp_port'] = 465
        gitlab_rails['smtp_user_name'] = "[email protected]"
        gitlab_rails['smtp_password'] = "xxxxxxxxxxxxxxxxx"
        gitlab_rails['smtp_authentication'] = "login"
        gitlab_rails['smtp_enable_starttls_auto'] = true
        gitlab_rails['smtp_tls'] = true
        gitlab_rails['gitlab_email_from'] = '[email protected]'
        gitlab_rails['smtp_domain'] = "exmail.qq.com"
        gitlab_rails['gitlab_email_display_name'] = '[email protected]'

Die obige Konfiguration wurde normalerweise vor Gitlab Version 15.10 verwendet und der E-Mail-Versand verlief immer normal.
Später habe ich ein Upgrade durchgeführt. Nach dem Upgrade stellte ich fest, dass die E-Mail nicht erfolgreich gesendet werden konnte. Nachdem ich die Informationen überprüft hatte, stellte ich sie ein, startete smtp_enable_starttls_autoden falseGitlab-Dienst neu und die E-Mail wurde erfolgreich gesendet.

Referenz: https://forum.gitlab.com/t/tls-configuration-for-outgoing-emails-does-not-propagate-resulting-in-no-outgoing-emails-at-all/86546

Um den E-Mail-Versand über die Befehlszeile zu testen, können Sie auf die folgenden Methoden zurückgreifen:

root@326adcd27dab:/# gitlab-rails console
--------------------------------------------------------------------------------
 Ruby:         ruby 3.0.6p216 (2023-03-30 revision 23a532679b) [x86_64-linux]
 GitLab:       15.11.3 (332cca52b7e) FOSS
 GitLab Shell: 14.18.0
 PostgreSQL:   13.8
------------------------------------------------------------[ booted in 42.62s ]
Loading production environment (Rails 6.1.7.2)
irb(main):001:0> Notify.test_email('[email protected]','测试gitlab','邮件正文测试内容').deliver_now
Delivered mail [email protected] (3059.9ms)
=> #<Mail::Message:296880, Multipart: false, Headers: <Date: Mon, 12 Jun 2023 02:04:41 +0000>, <From: "[email protected]" <[email protected]>>, <Reply-To: "[email protected]" <[email protected]>>, <To: [email protected]>, <Message-ID: <[email protected]>>, <Subject: 测试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>>

Als ich den E-Mail-Versand getestet habe, bevor ich das Problem gelöst habe, war die Fehlerausgabe wie folgt:

root@2f6ce0bee2e5:/# gitlab-rails console
--------------------------------------------------------------------------------
 Ruby:         ruby 3.0.6p216 (2023-03-30 revision 23a532679b) [x86_64-linux]
 GitLab:       15.11.3 (332cca52b7e) FOSS
 GitLab Shell: 14.18.0
 PostgreSQL:   13.8
------------------------------------------------------------[ booted in 48.03s ]
Loading production environment (Rails 6.1.7.2)
irb(main):001:0> Notify.test_email('[email protected]','测试gitlab','邮件正文测试内容').deliver_now
Delivered mail [email protected] (1.4ms)
/opt/gitlab/embedded/service/gitlab-rails/config/initializers/mail_starttls_patch.rb:60:in `build_smtp_session': :enable_starttls and :tls are mutually exclusive. Set :tls if you're on an SMTPS connection. Set :eARTTLS for secure TLS upgrade. (ArgumentError)

(ENDE)

Supongo que te gusta

Origin blog.csdn.net/catoop/article/details/131163040
Recomendado
Clasificación