GitLab电子邮件设置:通过其他的邮件服务器发送(GitLab email setup: send

2019-06-24 15:20发布

默认情况下,gitlab在接下来的配置gitlab.yml

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

但是,我需要指定其他变量(主机,端口,用户名,密码等),使用其他邮件服务器。

我该怎么办?

Answer 1:

这弄得我也一样。 但要改变邮件设置你编辑它们在配置/环境/ production.rb只需添加一个config.action_mailer.smtp_settings像一个普通的Rails应用程序。



Answer 2:

现在,它是在Gitlab 5.2+完全不同。

正是在“/home/git/gitlab/config/initializers/smtp_settings.rb.sample”,我们只需要遵循的说明。



Answer 3:

注意 :此方法是较早版本Gitlab有用的。 一看便知吉里什的较新版本。


在配置/环境/ production.rb结束时,您可以添加这样的:

  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
  }

请参考的ActionMailer文档的可能的配置的更详细的描述: http://api.rubyonrails.org/classes/ActionMailer/Base.html

注意 :您可能需要一个Gitlab更新后,重新编辑该文件



Answer 4:

对于Gitlab> 7个总括,编辑/etc/gitlab/gitlab.rb如下面和运行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'

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



Answer 5:

email:host:在配置gitlab.yml实际上不是邮件服务器/ SMTP主机。 它用于构建链接的电子邮件您Gitlab主机。 我们呼吁我们的gitlab服务器“gitlab.local”(和有这方面的DNS条目),所以我们的配置说host: gitlab.local

这样,当用户收到来自Gitlab电子邮件,链接将正常工作,而不是链接到http://localhost/ ,因为是默认的。

那里面有一些冗余配置。 对于正确内Gitlab显示混帐克隆网址,你还需要配置web:host:git_host:host:使用相同的主机名。

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

email:
   host: gitlab.local
   protocol: http

git_host:
   host: gitlab.local

如果您正在使用HTTPS,更改web:https: web:port:email:protocol:



Answer 6:

这是我在/config/environment/production.rb结束条目,并且为我工作。


注释掉sendmail的选择和使用外部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 => '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



Answer 7:

显然,这些设置的位置发生了变化(几次),因为这个问题原本问。 目前为2018年11月2日:

这些设置在gitlab.rb按照官方文档:

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



文章来源: GitLab email setup: sending via another mail server