Gitlab не может доставлять почту на учетные записи Gmail
проблема
У меня установлена версия Gitlab Omnibus на сервере DigitalOcean. Я обнаружил, что когда я создаю новую учетную запись пользователя с идентификатором Gmail, они никогда не получают письма от Gitlab.
Просматривая файл mail.log:
2 июня 00:02:34 постфикс / пикап имени хоста [13969]: D5FB82001C: uid=999 от = 2 июня 00:02:34 постфикс / очистка имени хоста [18636]: D5FB82001C: message-id= 2 июня, 00:02:34 postfix/qmgr имени хоста [14920]: D5FB82001C: from=, размер =5478, nrcpt=1 (очередь активна) 2 июня, 00:02:34 postfix/smtp имени хоста [18640]: подключиться к gmail-smtp-in.l.google.com[2404:6800:4003:c01::1a]:25: сеть недоступна 2 июня, 00:02:37 postfix/smtp имени хоста [18640]: D5FB82001C: to=, relay=gmail-smtp-in.l.google.com[74.125.200.26]:25, задержка = 2,2, задержки = 0,01 / 0,01 /0.86/1.3, dsn = 2.0.0, статус = отправлено (250 2.0.0 OK 1433217891 j15si24377385pdk.208 - gsmtp) 2 июня 00:02:37 postfix/qmgr имени хоста [14920]: D5FB82001C: удалено
Соответствующая ошибка, по-видимому:
connect to gmail-smtp-in.l.google.com[2404:6800:4003:c01::1a]:25: Network is unreachable
Что странно, потому что я могу нормально отправлять почту в gmail через командную строку.
Почтовый сервер
Моя почта настроена на этом сервере с использованием postfix/dovecot/Squirrelmail. Боюсь, я не слишком разбираюсь в том, как это работает, я просто следовал куче уроков, чтобы приклеить их вместе, и пока не совсем понял.
Материал, который работает
Я убедился, что следующие два сценария работают:
- Отправка почты на gmail ID из командной строки работает нормально:
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
- Отправка почты через Gitlab на другой случайный домен - проверено партизанской почтой
2 июня 00:31:20 постфикс / раскладка имени хоста [24015]: B66B92001C: uid=999 от = 2 июня 00:31:20 постфикс / очистка имени хоста [24228]: B66B92001C: идентификатор сообщения = 2 июня 00:31:20 имя хоста postfix/qmgr[14920]: B66B92001C: from=, размер =5813, nrcpt=1 (очередь активна) 2 июня 00:31:22 имя хоста postfix/smtp[24232]: B66B92001C: to=, relay=mail.sharklasers.com[198.143.169.10]:25, задержка = 1,7, задержки = 0,02/0/0,65/1,1, dsn = 2.0.0, статус = отправлено (250 ОК: поставлено в очередь как a99f431dc4f7f2b50ad3980311a1d4a6) 2 июня 00:31:22 имя хоста postfix/qmgr [14920]: B66B92001C: удалено
Я открыт для любых идей и предложений. Дайте мне знать, если я могу предоставить больше информации, чтобы помочь отладить эту проблему. Благодарю.
1 ответ
Я почти чувствую себя глупо, отвечая на это, но я понял свою проблему. Оставлю это здесь для потомков.
1.
Я забыл проверить папку со спамом в соответствующих учетных записях gmail. Подтверждающие / приветственные письма Gitlab, похоже, выбираются большинством спам-фильтров. В конце концов, Gitlab правильно отправил письмо.
2.
Я исправил ошибку журнала, о которой сообщил, следуя этому посту и заставляя свой постфикс использовать только протокол IPv4. Не совсем уверен, каковы побочные эффекты этого изменения, поэтому я бы не рекомендовал его.
Похоже, что Gitlab сначала пытается получить доступ к серверу Gmail через IPv6, а затем возвращается к IPv4. Так что эта ошибка в файле журнала может быть благополучно устранена, я думаю.