3

我已经建立了一个 Gerrit 服务器并试图让它发送电子邮件(对于所有事件)。但由于某种原因,Gerrit 没有发送任何电子邮件。error_logs绝对没有显示任何数据,这意味着它甚至没有尝试发送电子邮件。

这是我的 project.config 的所有项目的相关部分:

[notify "demo"]
    email = me@company.com
    type = all  

这是我的gerrit.config:

[gerrit]  
    basePath = git  
    canonicalWebUrl = http://hostname:8443/  
[database]  
    type = h2  
    database = db/ReviewDB  
    connectionPool = true  
    poolLimit = 128  
[index]  
    type = LUCENE  
[auth]  
    type = LDAP  
[ldap]  
    poolDebug = all  
    server = ldap://nod.company.com  
    accountBase = cn=users,dc=company,dc=com  
    accountEmailAddress = mail  
    referral = follow  
[sendemail]  
    smtpServer = relay.company.com  
     smtpServerPort = 25  
     smtpUser = my_username  
[container]  
     user = gerrit2  
     javaHome = /usr/lib/jvm/java-7-openjdk-amd64/jre  
     heapLimit = 2g  
[sshd]  
     listenAddress = *:29419  
     maxConnectionPerUser = 256  
[automerge]  
     botEmail = me@company.com  
[download]  
     scheme = ssh  
[httpd]  
     listenUrl = http://*:8443/  
     maxThreads = 128  
[cache]  
         directory = cache  
[gitweb]  
     cgi = /usr/share/gitweb/gitweb.cgi 

环境:Ubuntu 14.04 和 Gerrit 2.11.6。

我试图从该服务器上的命令行发送电子邮件,效果很好。

我在 Gerrit 上的所有个人项目都继承了All-Projects 的访问权限。我什至尝试将电子邮件部分添加到每个单独的项目中,但这也无济于事。

我的同事拥有自己的能够发送电子邮件的 Gerrit 服务器,他查看了我的问题,但无法弄清楚我的服务器出了什么问题。我们都有相同的 Linux 版本、Gerrit 版本gerrit.configproject.config.

4

3 回答 3

2

好的,找到问题并修复它们。我有两个问题,分享给用户参考。

  1. 我以 gerrit.config 中提到的 smtpUser 帐户以外的用户身份登录时安装了 sendmail 实用程序。之后我忘记将 sendmail 实用程序添加到 /opt,因此 gerrit.config 中的 smtpUser 帐户无法访问 sendmail 实用程序。一旦我与所有用户帐户共享了 sendmail 实用程序,gerrit 就开始发送电子邮件。

    总而言之,确保 smtpUser 下提到的用户帐户具有可用的 sendmail。感谢大家的时间。

  2. gerrit 不会仅将电子邮件发送给同时也是 gerrit.config 中的 smtpUser 的用户。我只是通过向我发送电子邮件来测试它,因此它没有用。我不得不更改项目配置以添加我自己的电子邮件帐户以外的电子邮件地址。
    我不知道这是 gerrit 错误还是 gerrit 功能。如果是一个功能,那么不确定它的用例是什么!

我希望这些信息可以帮助其他人。

于 2016-12-21T06:43:43.607 回答
1

在最近的 Gerrit 更新(从 2.15 -> 3.2)之后,我遇到了这个问题。

我检查了 postfix 登录/var/log/maillog,他们清楚地表明,在 Gerrit 更新后重新启动机器后,没有更多邮件到达这里。

进一步<gerrit-path>/logs/error_log查看(我必须查看滚动文件)告诉我,我们的邮件模板似乎存在问题,并且还给了我有问题的文件的路径。

我们之前使用了来自https://gist.github.com/orgads/d8a61a1c10efeb7a4fafbcb6374167c3的自定义邮件模板,其格式似乎不再有效。我用 Gerrit 提供的 .soy.example 文件替换了它,该文件解决了这个问题。

于 2020-11-13T07:59:36.377 回答
0

对我来说,因为我试图通过让它们发送到我自己的电子邮件来测试电子邮件,所以我必须进入设置(Gerrit 2.15.17 BTW),然后在电子邮件通知下的首选项中,在下拉菜单中选择“每条评论” .

于 2019-11-03T07:48:38.147 回答