Impostazione e-mail Gitlab: invio tramite un altro server di posta
-
12-12-2019 - |
Domanda
Per impostazione predefinita GITLAB ha la configurazione successiva in gitlab.yml
:
email:
from: notify@gitlabhq.com
host: gitlabhq.com
.
Ma, ho bisogno di specificare altre variabili (host, porto, utente, password, ecc.) Per utilizzare un altro server di posta.
Come lo faccio?
Soluzione
Questo mi ha confuso anche me.Ma per modificare l'impostazione della posta che li modifichi in Config / Environments / Production.rb Basta aggiungere un config.action_mailer.smtp_settings come un'app per rails regolari.
Altri suggerimenti
Ora è totalmente diverso in Gitlab 5.2 +.
è in "/home/git/gitlab/config/initializers/smtp_settings.rb.sample" e abbiamo solo bisogno di seguire le istruzioni in questo.
Nota : Questo metodo è stato utile per le versioni precedenti di Gitlab. Vedi la risposta di girish per le versioni più recenti.
.
Alla fine di config / ambienti / production.rb puoi aggiungere qualcosa del genere:
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
:address => 'yourserver.com',
:port => 25,
:domain => 'gitlab.yourserver.com',
:authentication => :plain,
:user_name => 'gitlab@yourserver.com',
:password => 'yourPassword',
:enable_starttls_auto => true
}
.
Fare riferimento alla documentazione di ActionMailer per una descrizione più dettagliata delle possibili configurazioni: http://pi.rubyonrails.org/classes/actionMaileer/Base.html
Nota : Potrebbe essere necessario modificare nuovamente il file dopo un aggiornamento Gitlab
per gitlab> 7 omnibus, modifica /etc/gitlab/gitlab.rb
come sotto ed eseguito 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'
.
Fonte: https:// gitlab.com / gitlab-org / omnibus-gitlab / blob / master / doc / impostazioni / smtp.md
La configurazione email:host:
in gitlab.yml
non è in realtà per l'host del server di posta / SMTP.È usato per costruire i collegamenti al tuo host Gitlab nell'e-mail.Chiamiamo il nostro server Gitlab 'gitlab.local' (e ha una voce DNS per IT), quindi la nostra configurazione dice host: gitlab.local
.
In questo modo, quando gli utenti ricevono un'e-mail da Gitlab, i collegamenti funzionano, invece di collegare a http://localhost/
, come è il valore predefinito.
C'è una configurazione ridondante lì dentro.Per gli URL GIT Clone da visualizzare correttamente all'interno di GITLAB, è inoltre necessario configurare web:host:
e git_host:host:
con lo stesso nome host.
web:
host: gitlab.local
port: 80
https: false
email:
host: gitlab.local
protocol: http
git_host:
host: gitlab.local
.
Se si utilizza HTTPS, modifica web:https:
, web:port:
e email:protocol:
.
Questa è la mia voce alla fine in /config/environment/production.rb e che funziona per me.
.
Commenta Opzioni di sendmail e utilizzare i relè SMTP esterni
.
# #config.action_mailer.delivery_method = :sendmail ## Comment out this
# Defaults to:
# # config.action_mailer.sendmail_settings = {
# # :location => '/usr/sbin/sendmail',
# # :arguments => '-i -t'
# # }
config.action_mailer.perform_deliveries = true
config.action_mailer.raise_delivery_errors = true
# # SMTP Settings
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
:address => '10.146.10.90', ## My SMTP Relay/Gateway
:port => 25, ## SMTP Port
:domain => 'gitlab.example.com', ## My Domain
:authentication => :plain, ## Let it be plain as it is inside my LAN
##:user_name => 'gitlab@yourserver.com', ## This is not required as long as
##:password => 'yourPassword', ## SMTP Gateway allows anonymous relay
##:enable_starttls_auto => true ## In LAN
##:user_name => '',
##:password => '',
:enable_starttls_auto => true
}
end
.
.
Apparentemente la posizione di queste impostazioni è cambiata (poche volte) poiché questa domanda è stata originariamente richiesta.Attualmente a partire dal 2018-11-02:
Le impostazioni sono in gitlab.rb
secondo la documentazione ufficiale: