Pergunta

Por padrão, o gitlab tem a próxima configuração em gitlab.yml :

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

mas preciso especificar outras variáveis ​​(host, porta, usuário, senha, etc.) para usar outro servidor de email.

Como faço isso?

Foi útil?

Solução

Isso também me confundiu.Mas para alterar a configuração de e-mail, você os edita em config/environments/production.rb. Basta adicionar config.action_mailer.smtp_settings como um aplicativo Rails normal.

Outras dicas

Agora é totalmente diferente no Gitlab 5.2+.

Está em "/home/git/gitlab/config/initializers/smtp_settings.rb.sample" e só precisamos seguir as instruções nele.

Observação:Este método foi útil para versões mais antigas do Gitlab. Veja a resposta de Girish para versões mais recentes.


No final de config/environments/production.rb você pode adicionar algo assim:

  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 a documentação do ActionMailer para uma descrição mais detalhada das configurações possíveis: http://api.rubyonrails.org/classes/ActionMailer/Base.html

Observação:Talvez seja necessário editar o arquivo novamente após uma atualização do Gitlab

Para Gitlab> 7 omnibus, edite /etc/gitlab/gitlab.rb como abaixo e execute 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'

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

O email:host: configuração em gitlab.yml na verdade, não é para o servidor de e-mail/host SMTP.É usado para construir links para seu host Gitlab no email.Chamamos nosso servidor gitlab de 'gitlab.local' (e temos uma entrada DNS para ele), então nossa configuração diz host: gitlab.local.

Dessa forma, quando os usuários receberem um e-mail do Gitlab, os links funcionarão, em vez de direcionarem para http://localhost/, como é o padrão.

Há alguma configuração redundante aí.Para que os URLs do git clone sejam exibidos corretamente no Gitlab, você também precisa configurar web:host: e git_host:host: com o mesmo nome de host.

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

email:
   host: gitlab.local
   protocol: http

git_host:
   host: gitlab.local

Se você estiver usando HTTPS, altere web:https:, web:port:, e email:protocol:.

Estas são minhas entradas no final em /config/environment/production.rb e estão funcionando para mim.


Comente as opções do sendmail e use retransmissões SMTP externas


  # #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, a localização dessas configurações mudou (algumas vezes) desde que esta pergunta foi feita originalmente.Atualmente a partir de 02/11/2018:

As configurações estão em gitlab.rb conforme a documentação oficial:

enter image description here

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top