ruby on rails - external_url - Configuración del correo electrónico gitlab
gitlab rb configuration (6)
Por defecto, gitlab tiene la siguiente configuración en gitlab.yml
:
email:
from: [email protected]
host: gitlabhq.com
pero, necesito especificar otras variables (host, puerto, usuario, contraseña, etc.) para usar otro servidor de correo.
¿Cómo hago eso?
Ahora es totalmente diferente en Gitlab 5.2+.
Está en "/home/git/gitlab/config/initializers/smtp_settings.rb.sample" y solo debemos seguir las instrucciones.
Estas son mis entradas al final en /config/environment/production.rb y eso está funcionando para mí.
Comenta las opciones de sendmail y utiliza retransmisiones SMTP externas
# #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 => ''[email protected]'', ## 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
Esto también me confundió. Pero para cambiar la configuración del correo, edítelos en config / environments / production.rb. Simplemente agregue config.action_mailer.smtp_settings como una aplicación de rieles normal.
La configuración del email:host:
en gitlab.yml
no es realmente para el servidor de correo / host SMTP. Se utiliza para construir los enlaces a su host Gitlab en el correo electrónico. Llamamos a nuestro servidor gitlab ''gitlab.local'' (y tenemos una entrada de DNS para él), por lo que nuestra configuración dice host: gitlab.local
.
De esta forma, cuando los usuarios reciban un correo electrónico de Gitlab, los enlaces funcionarán, en lugar de enlazar con http://localhost/
, como es el predeterminado.
Hay alguna configuración redundante allí. Para que las URL de git clone se muestren correctamente en 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 la web:https:
web:port:
y email:protocol:
Para Gitlab> 7 ómnibus, edite /etc/gitlab/gitlab.rb
como a continuación 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/settings/smtp.md
Nota : Este método fue útil para versiones anteriores de Gitlab. Vea la respuesta de Girish para versiones más recientes.
Al final de config / environments / production.rb puede agregar algo como esto:
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
:address => ''yourserver.com'',
:port => 25,
:domain => ''gitlab.yourserver.com'',
:authentication => :plain,
:user_name => ''[email protected]'',
:password => ''yourPassword'',
:enable_starttls_auto => true
}
Consulte la documentación de ActionMailer para obtener una descripción más detallada de las configuraciones posibles: http://api.rubyonrails.org/classes/ActionMailer/Base.html
Nota : puede que tenga que editar el archivo nuevamente después de una actualización de Gitlab