Configuración de correo electrónico de GitLab:enviando a través de otro servidor de correo
-
12-12-2019 - |
Pregunta
Por defecto, gitlab tiene la siguiente configuración en gitlab.yml
:
email:
from: notify@gitlabhq.com
host: gitlabhq.com
pero necesito especificar otras variables (host, puerto, usuario, contraseña, etc.) para usar otro servidor de correo.
¿Cómo hago eso?
Solución
Esto también me confundió.Pero para cambiar la configuración de correo, los editó en Config / entornos / Production.rb, solo agregue una configuración config.action_mailer.smtp_settings como una aplicación regular de rieles.
Otros consejos
Ahora es totalmente diferente en Gitlab 5.2 +.
Está en "/home/git/gitlab/config/initializers/smtp_settings.rb.sample" y solo tenemos que seguir las instrucciones en eso.
nota : Este método fue útil para las versiones anteriores de GitLab. Vea la respuesta de Girish para versiones más nuevas.
Al final de la configuración / entornos / production.rb, puede agregar algo como este:
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
}
Consulte la documentación de ActionMailer para obtener una descripción más detallada de las posibles configuraciones: http: / //api.rubyonrails.org/classes/actionmailer/base.html
nota : Es posible que tenga que editar el archivo nuevamente después de una actualización de Gitlab
para gitlab> 7 omnibus, edite /etc/gitlab/gitlab.rb
como abajo y ejecute 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'
Fuente: https:// gitlab.com / gitlab-org / omnibus-gitlab / blob / master / doc / ajustes / smtp.md
El email:host:
configuración en gitlab.yml
en realidad no es para el servidor de correo/host SMTP.Se utiliza para construir los enlaces a su host de Gitlab en el correo electrónico.Llamamos a nuestro servidor gitlab 'gitlab.local' (y tenemos una entrada DNS para él), por lo que nuestra configuración dice host: gitlab.local
.
De esta manera, cuando los usuarios reciban un correo electrónico de Gitlab, los enlaces funcionarán, en lugar de vincularse a http://localhost/
, como es el valor predeterminado.
Hay alguna configuración redundante ahí.Para que las URL de git clone se muestren correctamente dentro de Gitlab, también debe configurar web:host:
y git_host:host:
con el mismo nombre de host.
web:
host: gitlab.local
port: 80
https: false
email:
host: gitlab.local
protocol: http
git_host:
host: gitlab.local
Si está utilizando HTTPS, cambie web:https:
, web:port:
, y email:protocol:
.
Estas son mis entradas al final en /config/environment/production.rb y eso está funcionando para mí.
Comentan las opciones de Sendmail y use relés SMTP externos
# #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
Aparentemente, la ubicación de estas configuraciones ha cambiado (unas cuantas veces) desde que se hizo originalmente esta pregunta.Actualmente a partir del 2018-11-02:
Las configuraciones están en gitlab.rb
según la documentación oficial: