web-dev-qa-db-fra.com

Configuration de la messagerie GitLab: envoi via un autre serveur de messagerie

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

email:
  from: [email protected]
  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? 

32
el_quick

Cela m'a confondu aussi. Mais pour modifier le paramètre de messagerie, modifiez-les dans config/environnements/production.rb. Ajoutez simplement un config.action_mailer.smtp_settings comme une application Rails standard.

10
Joshua

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 y sont contenues.

40
Girish KG

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/environnements/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 => '[email protected]',
      :password => 'yourPassword',
      :enable_starttls_auto => true
  }

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

Note: Il se peut que vous deviez modifier le fichier après une mise à jour de Gitlab.

30
Adrian

Pour Gitlab> 7 omnibus, éditez /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

6
topher

La configuration email:Host: dans gitlab.yml ne concerne pas réellement le serveur de messagerie/l'hôte SMTP. Il est utilisé pour construire les liens vers votre hôte Gitlab dans le courrier électronique. Nous appelons notre serveur gitlab 'gitlab.local' (et avons une entrée DNS pour cela), donc notre configuration dit Host: gitlab.local

Ainsi, lorsque les utilisateurs recevront un courrier électronique de Gitlab, les liens fonctionneront, au lieu de renvoyer à 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, changez web:https:, web:port: et email:protocol:

5
Jimothy

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 => '[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

3
Girish KG

Apparemment, l'emplacement de ces paramètres a changé (plusieurs fois) depuis la réponse à cette question. Actuellement, à compter du 2018-11-02:

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

 enter image description here

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

0