Gitlab无法向Gmail帐户发送电子邮件

时间:2015-06-02 04:53:18

标签: email sendmail gitlab postfix-mta dovecot

问题

我在DigitalOcean服务器上安装了Gitlab Omnibus版本。我发现当我创建一个带有Gmail密码的新用户帐户时,他们从未收到任何来自Gitlab的电子邮件。

浏览mail.log文件:

Jun  2 00:02:34 hostname postfix/pickup[13969]: D5FB82001C: uid=999 from=
Jun  2 00:02:34 hostname postfix/cleanup[18636]: D5FB82001C: message-id=
Jun  2 00:02:34 hostname postfix/qmgr[14920]: D5FB82001C: from=, size=5478, nrcpt=1 (queue active)
Jun  2 00:02:34 hostname postfix/smtp[18640]: connect to gmail-smtp-in.l.google.com[2404:6800:4003:c01::1a]:25: Network is unreachable
Jun  2 00:02:37 hostname postfix/smtp[18640]: D5FB82001C: to=, relay=gmail-smtp-in.l.google.com[74.125.200.26]:25, delay=2.2, delays=0.01/0.01/0.86/1.3, dsn=2.0.0, status=sent (250 2.0.0 OK 1433217891 j15si24377385pdk.208 - gsmtp)
Jun  2 00:02:37 hostname postfix/qmgr[14920]: D5FB82001C: removed

相关错误似乎是:

connect to gmail-smtp-in.l.google.com[2404:6800:4003:c01::1a]:25: Network is unreachable

这很奇怪,因为我可以通过命令行将邮件发送到gmail。

邮件服务器

我的邮件是使用postfix / dovecot / Squirrelmail在此服务器上设置的。我担心我不太了解它是如何工作的,我几乎只是按照一堆教程将它们连接在一起,并且还没有完全理解它。

有效的东西

我已验证以下两种方案有效:

  1. 从命令行发送邮件到gmail ID工作正常:
  2. echo -e "Hello there" | mail -s "Test Email" "random@gmail.com"

    此操作的Mail.log条目:

    Jun  2 00:23:46 hostname postfix/pickup[13969]: 853432001C: uid=1000 from=<vidur@hostname>
    Jun  2 00:23:46 hostname postfix/cleanup[23752]: 853432001C: message-id=<20150602042346.853432001C@mail.hostname.com>
    Jun  2 00:23:46 hostname postfix/qmgr[14920]: 853432001C: from=<vidur@hostname>, size=356, nrcpt=1 (queue active)
    Jun  2 00:23:48 hostname postfix/smtp[23754]: 853432001C: to=<random@gmail.com>, relay=gmail-smtp-in.l.google.com[74.125.200.27]:25, delay=1.7, delays=0.01/0/0.85/0.88, dsn=2.0.0, status=sent (250 2.0.0 OK 1433219162 fw3si24157505pbb.133 - gsmtp)
    Jun  2 00:23:48 hostname postfix/qmgr[14920]: 853432001C: removed
    
    1. 通过Gitlab发送邮件到随机的其他域名 - 使用Guerrilla Mail
    2. 进行测试
      Jun  2 00:31:20 hostname postfix/pickup[24015]: B66B92001C: uid=999 from=
      Jun  2 00:31:20 hostname postfix/cleanup[24228]: B66B92001C: message-id=
      Jun  2 00:31:20 hostname postfix/qmgr[14920]: B66B92001C: from=, size=5813, nrcpt=1 (queue active)
      Jun  2 00:31:22 hostname postfix/smtp[24232]: B66B92001C: to=, relay=mail.sharklasers.com[198.143.169.10]:25, delay=1.7, delays=0.02/0/0.65/1.1, dsn=2.0.0, status=sent (250 OK : queued as a99f431dc4f7f2b50ad3980311a1d4a6)
      Jun  2 00:31:22 hostname postfix/qmgr[14920]: B66B92001C: removed
      

      我愿意接受任何想法和建议。如果我能提供更多信息来帮助调试此问题,请告诉我。感谢。

1 个答案:

答案 0 :(得分:0)

我几乎感到愚蠢地回答这个问题,但我发现了我的问题。要留下这个给后人。

1

我忘了检查相关Gmail帐户上的垃圾邮件文件夹。 Gitlab确认/欢迎电子邮件似乎被大多数垃圾邮件过滤器所吸引。毕竟,Gitlab正确地发送了电子邮件。

Source

2

我通过以下this post修复了我报告的日志错误,并强制我的postfix仅使用IPv4协议。不完全确定这种变化的副作用是什么,所以我不推荐它。

看起来Gitlab首先尝试通过IPv6访问gmail服务器,然后再回到IPv4。因此,我猜想日志文件中的错误可以被安全地解除。