2013-04-20 69 views
14

我的Gitlab(版本5)没有发送任何电子邮件,我正在尝试弄清楚发生了什么。日志没有提供有用的信息。我将它配置为使用sendmail如何在Gitlab上调试电子邮件发送?

我写了一个小脚本,通过ActionMailer发送电子邮件(我猜这是gitlab用来发送电子邮件的权利?)。它会正确发送电子邮件。

但是,在我的Gitlab上,我可以保证sendmail甚至没有被调用。

我需要启用某些功能来获取电子邮件通知吗?我如何调试我的问题?

更新

问题是我找不到任何地方的任何信息。这件事只是默默地失败。我在哪里可以找到某种日志? log目录中的日志没有提供有用的信息。

我的问题是,我该如何让Gitlab变得更加冗长?我怎样才能告诉我发生了什么事?

更新2

我只是发现了很多安排在Background jobs部分邮件。很多未经处理的Sidekiq::Extensions::DelayedMailer。这是什么意思?为什么这些工作没有得到处理?

+1

在sidekiq记录任何东西(如https://github.com/gitlabhq/gitlabhq/问题/ 2747)?请注意,sidekiq被5中的puma所取代。1因此,检查问题是否与最新的GitLab一致仍然很有趣。 – VonC 2013-04-20 22:12:48

+0

Sidekiq日志为空。我将使用来自master的最新gitlab进行测试。 – 2013-04-20 22:51:57

+0

仍是同样的问题。问题是我无法在任何地方找到任何信息。这件事只是默默地失败。我在哪里可以找到某种日志?日志中的日志没有提供有用的信息。 – 2013-04-20 23:08:37

回答

6

首先,我会告诉什么是我的问题:sidekiq负责处理发送电子邮件。出于某种原因,我的sidekiq卡住了,重新启动它解决了问题。

,我发现我左右就Gitlab发现问题的信息:

  1. 日志目录。它有一些信息。
  2. 在管理页面上,“后台作业”部分提供了关于sidekiq的信息。
  3. JavaScript控制台(如果您的浏览器支持它)也有有用的信息。只有当你的问题与JavaScript有关。
  4. 如果你达到这一点,你可以修改Gitlab的代码,这样你就可以“跟踪它”写入文件:

    File.open('/tmp/logfile','a') { |file| file.write("Hello World!\n") }

+0

好的意见。 +1我的初步评论与标志并不相距甚远。 – VonC 2013-04-21 20:48:52

2

也许尝试使生产模式传递错误,看看会发生什么

config.action_mailer.raise_delivery_errors = true 
+0

这已经是事实。我的意思是,它位于'config/environments/production.rb'中,对吗? – 2013-04-20 23:27:11

+0

是的,没有运气然后... – Intrepidd 2013-04-20 23:28:13

+0

我刚在后台作业部分发现了很多邮件。你知道这是什么意思吗? – 2013-04-20 23:49:20

1

我有同样的问题,我发现我需要修改应用程序.rb:

diff --git a/config/application.rb b/config/application.rb 
index d85bcab..274976f 100644 
--- a/config/application.rb 
+++ b/config/application.rb 
@@ -11,6 +11,8 @@ end 

module Gitlab 
    class Application < Rails::Application 
+ config.action_mailer.sendmail_settings = { :arguments => "-i" } 
+ 
    # Settings in config/environments/* take precedence over those specified here. 
    # Application configuration should go into files in config/initializers 
    # -- all .rb files in that directory are automatically loaded. 

注意:我正在运行使用exim邮件的Debian 7。

1

在根据后台作业管理部分,如果你有很多的项目在预设选项卡请尝试重新启动sidekiq

cd /home/git/gitlab  
exec rake sidekiq:start RAILS_ENV=production