GitLab-E-Mail-Setup:Versand über einen anderen Mailserver
-
12-12-2019 - |
Frage
Standardmäßig hat Gitlab die nächste Konfiguration in gitlab.yml
:
email:
from: notify@gitlabhq.com
host: gitlabhq.com
Ich muss jedoch andere Variablen (Host, Port, Benutzer, Passwort usw.) angeben, um einen anderen Mailserver zu verwenden.
Wie mache Ich das?
Lösung
das verwirrt mich auch.Um jedoch die E-Mail-Einstellung zu ändern, bearbeiten Sie sie in Config / Umgebungen / Produktion.rb, fügen Sie einfach eine config.action_mailer.smtp_settings wie eine reguläre Rails-App hinzu.
Andere Tipps
Jetzt anders ist es in Gitlab 5.2 + völlig anders.
Es ist in "/home/git/gitlab/config/initializers/smtp_settings.rb.sample" und müssen nur den Anweisungen dabei folgen.
note : Diese Methode war für ältere Versionen von Gitlab nützlich. Sehen Sie die Antwort von Girish für neuere Versionen.
Am Ende von Config / Umgebungen / Produktion.rb können Sie so etwas hinzufügen:
generasacodicetagpre.Siehe die ActionMailer-Dokumentation für eine detailliertere Beschreibung möglicher Konfigurationen: http://api.rubyonrails.org/classes/ActionMailer/Base.html
note : Möglicherweise müssen Sie die Datei nach einem GitLab-Update erneut bearbeiten
Für Gitlab > 7 Omnibus bearbeiten /etc/gitlab/gitlab.rb
wie unten und führen Sie es aus sudo gitlab-ctl reconfigure
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.server"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "smtp user"
gitlab_rails['smtp_password'] = "smtp password"
gitlab_rails['smtp_domain'] = "example.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_openssl_verify_mode'] = 'none'
Quelle: https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/settings/smtp.md
Der email:host:
Konfiguration in gitlab.yml
ist eigentlich nicht für den Mailserver/SMTP-Host.Es wird verwendet, um die Links zu Ihrem Gitlab-Host in der E-Mail zu erstellen.Wir nennen unseren Gitlab-Server „gitlab.local“ (und haben einen DNS-Eintrag dafür), so unsere Konfiguration host: gitlab.local
.
Auf diese Weise funktionieren die Links, wenn Benutzer eine E-Mail von Gitlab erhalten, anstatt zu verlinken http://localhost/
, wie es die Standardeinstellung ist.
Da ist eine redundante Konfiguration drin.Damit die Git-Clone-URLs in Gitlab korrekt angezeigt werden, müssen Sie auch konfigurieren web:host:
Und git_host:host:
mit demselben Hostnamen.
web:
host: gitlab.local
port: 80
https: false
email:
host: gitlab.local
protocol: http
git_host:
host: gitlab.local
Wenn Sie HTTPS verwenden, ändern Sie es web:https:
, web:port:
, Und email:protocol:
.
Dies ist meine Einträge am Ende in /config/devironment/production.rb und das funktioniert für mich.
Kommentieren von Sendmail-Optionen und externe SMTP-Relais verwenden
generasacodicetagpre.
Anscheinend hat sich der Speicherort dieser Einstellungen (einige Male) geändert, da diese Frage ursprünglich gefragt wurde.Derzeit ab 2018-11-02:
Die Einstellungen befinden sich in der offiziellen Dokumentation in gitlab.rb
: