我已经设置了Gerrit服务器,并试图让它发送电子邮件(适用于所有事件)。但由于某些原因,格里特没有发送任何电子邮件。 error_logs显示绝对没有数据,这意味着它甚至没有尝试发送电子邮件。
以下是我的project.config的相关部分" All-Projects":
[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上的所有项目都继承了#34; All-Projects"的访问权限。我甚至尝试将电子邮件部分添加到每个单独的项目中,但这也没有帮助。
我的同事,他有自己的Gerrit服务器,可以发送电子邮件,查看我的问题,无法弄清楚我的服务器有什么问题。我们都有相同的Linux版本,Gerrit版本,gerrit.config
和project.config
。
答案 0 :(得分:1)
好的,找到了问题并修复了它们。我有两个问题,分享供用户参考。
我以gerrit.config中提到的smtpUser帐户以外的用户身份登录时安装了sendmail实用程序。之后我忘了将sendmail实用程序添加到/ opt,因此gerrit.config中的smtpUser帐户无法访问sendmail实用程序。一旦我与所有用户帐户共享sendmail实用程序,gerrit就开始发送电子邮件。
总而言之,请确保smtpUser下提到的用户帐户可以使用sendmail。谢谢大家的时间。
gerrit不会将电子邮件仅发送给gerrit.config中也是smtpUser的用户。我通过向我发送电子邮件来测试它,因此它没有用。我不得不更改为项目配置以添加除我自己的电子邮件帐户之外的电子邮件地址 我不知道这是一个gerrit bug还是gerrit功能。如果一个功能,那么不知道这个用例是什么!!
我希望这些信息可以帮助其他人。
答案 1 :(得分:0)
对我来说,由于我试图通过将电子邮件发送到我自己的电子邮件来对其进行测试,因此我不得不进入设置(Gerrit 2.15.17 BTW),然后在电子邮件通知下的首选项中选择“每个评论”下拉菜单。
答案 2 :(得分:0)
最近的Gerrit更新(从2.15-> 3.2)后,我遇到了这个问题。
我检查了/var/log/maillog
中的后缀日志,它们清楚地表明,在Gerrit更新之后重新启动计算机后,没有更多邮件到达此处。
进一步查看<gerrit-path>/logs/error_log
(我必须查看滚动文件),这表明我的邮件模板似乎有问题,并且还为我提供了有问题文件的路径。
我们以前使用了https://gist.github.com/orgads/d8a61a1c10efeb7a4fafbcb6374167c3中的自定义邮件模板,该格式似乎不再有效。我将其替换为Gerrit提供的.soy.example文件,该文件已解决了该问题。