2012-05-21 31 views
32

Por gitlab por defecto tiene la siguiente configuración en la gitlab.yml:configuración del correo electrónico gitlab

email: 
    from: [email protected] 
    host: gitlabhq.com 

pero, necesito especificar otras variables (host, puerto, usuario, contraseña, etc.) para utilizar otro servidor de correo.

¿Cómo hago eso?

+0

Busco la misma solución. Por favor, hágamelo saber si ha encontrado alguna forma mejor –

+0

No es posible instalar un simple relevo smtp en el host que ejecuta gitlab? A continuación, podrá configurarlo para transmitir correos utilizando su servidor de correo autenticado –

+0

Mire aquí: http://stackoverflow.com/questions/16201090/gitlab-email-notifications-not-sending/16690884#16690884 - ---- –

Respuesta

10

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.

5

La configuración email:host: en gitlab.yml no es en realidad 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 manera, cuando los usuarios reciben un correo electrónico de Gitlab, los enlaces funcionen, en lugar de vincular a http://localhost/, como viene por defecto.

Hay alguna configuración redundante allí. Para que las URL de clonación de git 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, cambiar web:https:, web:port: y email:protocol:.

+0

Encontré esta respuesta útil para mi propio escenario de configuración de enlaces adecuados en los correos electrónicos de invitación a la cuenta de GitLab enviados desde mi máquina virtual local de GitLab; vea una pregunta/respuesta que publiqué aquí: http://stackoverflow.com/questions/24589361/how-to-change-the-host-ip-sent-in-emails-to-new-gitlab-users-to-a -publicly-visib –

30

Nota: Este método fue útil para las versiones anteriores de Gitlab. See the answer de Girish para versiones más nuevas.


Al final de config/ambientes/production.rb puede añadir 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 ActionMailer para 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 de nuevo después de un Gitlab actualizar

+4

nota: ': authentication =>: login' o': cram_md5' puede ser lo que se necesita, también ': enable_starttls_auto => false' se debe usar cuando tls/ssl no se está utilizando en su servidor de correo (típicamente cuando el puerto es 25 como arriba.) – ocodo

+1

Buena respuesta. Esto funciona pero es una opción más limpia, sugerida por Girish KG. Si modifica el archivo production.rb, puede encontrar problemas para actualizar gitlab por git y tendrá que manejar algunos conflictos de repositorio antes de obtener la actualización con éxito. – ProtheanTom

3

Estas son mis entradas al final en /config/environment/production.rb y eso está funcionando para mí.


comentario a cabo opciones Sendmail y utilizar relés externos SMTP


# #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 

+1

Las personas que descienden, por favor agreguen un comentario diciendo por qué votaron negativamente. Para que otras personas puedan entender por qué el método de este autor no funcionará/no es el mejor. Por favor. –

+0

¿Es posible lograr esto a través del archivo /etc/gitlab/gitlab.rb? – unc0nnected

40

Ahora bien, es totalmente diferente en Gitlab 5.2+.

Está en "/home/git/gitlab/config/initializers/smtp_settings.rb.sample" y solo debemos seguir las instrucciones al respecto.

+0

Esto es correcto. Tenga en cuenta que la instalación predeterminada no tendrá smtp_settings.rb.sample. ¿Pero puede obtenerlo desde github – look

+0

y necesita configurar postfix? – janwen

+3

en la versión 6.3.1 el archivo se ha movido a /home/git/gitlab/config/initializers/smtp_settings.rb.sample – damko

6

Para Gitlab> 7 ómnibus, editar /etc/gitlab/gitlab.rb que a continuación y ejecutar 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

Cuestiones relacionadas