Question

Par défaut, gitlab a la configuration suivante dans gitlab.yml :

email:
  from: notify@gitlabhq.com
  host: gitlabhq.com

mais je dois spécifier d'autres variables (hôte, port, utilisateur, mot de passe, etc.) pour utiliser un autre serveur de messagerie.

Comment je fais ça?

Était-ce utile?

La solution

Cela m'a aussi dérouté.Mais pour modifier les paramètres de messagerie, vous les modifiez dans config/environments/production.rb Ajoutez simplement un config.action_mailer.smtp_settings comme une application Rails classique.

Autres conseils

Maintenant, c'est totalement différent dans Gitlab 5.2+.

Il se trouve dans "/home/git/gitlab/config/initializers/smtp_settings.rb.sample" et nous devons simplement suivre les instructions qui s'y trouvent.

Note:Cette méthode était utile pour les anciennes versions de Gitlab. Voir la réponse de Girish pour les versions plus récentes.


À la fin de config/environments/production.rb, vous pouvez ajouter quelque chose comme ceci :

  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
  }

Reportez-vous à la documentation d'ActionMailer pour une description plus détaillée des configurations possibles : http://api.rubyonrails.org/classes/ActionMailer/Base.html

Note:Vous devrez peut-être modifier à nouveau le fichier après une mise à jour de Gitlab

Pour Gitlab > 7 omnibus, modifiez /etc/gitlab/gitlab.rb comme ci-dessous et exécutez 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'

Source: https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/settings/smtp.md

Le email:host: configuration dans gitlab.yml n'est pas réellement destiné au serveur de messagerie/hôte SMTP.Il est utilisé pour construire les liens vers votre hôte Gitlab dans l'e-mail.Nous appelons notre serveur gitlab 'gitlab.local' (et avons une entrée DNS pour celui-ci), donc notre configuration indique host: gitlab.local.

De cette façon, lorsque les utilisateurs reçoivent un e-mail de Gitlab, les liens fonctionneront, au lieu de créer un lien vers http://localhost/, comme c'est le cas par défaut.

Il y a une configuration redondante là-dedans.Pour que les URL de clone git s'affichent correctement dans Gitlab, vous devez également configurer web:host: et git_host:host: avec le même nom d'hôte.

web:
  host: gitlab.local
  port: 80
  https: false

email:
   host: gitlab.local
   protocol: http

git_host:
   host: gitlab.local

Si vous utilisez HTTPS, modifiez web:https:, web:port:, et email:protocol:.

Ce sont mes entrées à la fin dans /config/environment/production.rb et cela fonctionne pour moi.


Commentez les options de sendmail et utilisez des relais SMTP externes


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

Apparemment, l'emplacement de ces paramètres a changé (plusieurs fois) depuis que cette question a été posée initialement.Actuellement, au 02/11/2018 :

Les paramètres sont dans gitlab.rb selon la documentation officielle :

enter image description here

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top