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?

¿Fue útil?

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:

 ingrese la descripción de la imagen aquí

https://docs.gitlab.com/omnibus/settings/smtp.html

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top