GitLab email setup: sending via another mail server

后端 未结 7 1652
醉梦人生
醉梦人生 2020-12-13 00:46

By default gitlab has the next configuration in gitlab.yml :

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

but, I ne

相关标签:
7条回答
  • 2020-12-13 00:56

    For Gitlab > 7 omnibus, edit /etc/gitlab/gitlab.rb as below and run 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

    0 讨论(0)
  • 2020-12-13 00:57

    This confused me too. But to change the mail setting you edit them in config/environments/production.rb Just add a config.action_mailer.smtp_settings like a regular rails app.

    0 讨论(0)
  • 2020-12-13 00:58

    Note: This method was useful for older versions of Gitlab. See the answer of Girish for newer versions.


    At the end of config/environments/production.rb you can add something like this:

      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
      }
    

    Refer to the ActionMailer documentation for a more detailed description of possible configurations: http://api.rubyonrails.org/classes/ActionMailer/Base.html

    Note: You may have to edit the file again after a Gitlab update

    0 讨论(0)
  • 2020-12-13 01:07

    The email:host: configuration in gitlab.yml isn't actually for the mail server/SMTP host. It's used to construct the links to your Gitlab host in the email. We call our gitlab server 'gitlab.local' (and have a DNS entry for it), so our configuration says host: gitlab.local.

    This way, when users receive an email from Gitlab, the links will work, instead of linking to http://localhost/, as is the default.

    There's some redundant configuration in there. For the git clone URLs to be displayed correctly within Gitlab, you also need to configure web:host: and git_host:host: with the same host name.

    web:
      host: gitlab.local
      port: 80
      https: false
    
    email:
       host: gitlab.local
       protocol: http
    
    git_host:
       host: gitlab.local
    

    If you are using HTTPS, change web:https:, web:port:, and email:protocol:.

    0 讨论(0)
  • 2020-12-13 01:08

    This is my entries at the end in /config/environment/production.rb and that is working for me.


    Comment out sendmail options and use external SMTP relays


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

    0 讨论(0)
  • 2020-12-13 01:22

    Now it is totally different in Gitlab 5.2+.

    It is in "/home/git/gitlab/config/initializers/smtp_settings.rb.sample" and we just need to follow the instructions in that.

    0 讨论(0)
提交回复
热议问题