На моей виртуальной машине установлен Linux Ubuntu 14.04. Недавно я установил GitLab 7.8.2, следуя инструкциям на GitLab. сайт, и столкнулись с проблемами при настройке Gitlab для отправки писем.
например, когда я пытаюсь создать нового пользователя с помощью веб-интерфейса, я не получаю письма с подтверждением от сервера.
Я добавил эти строки в файл /opt/gitlab/embedded/service/gitlab-ci/config/environments/production.rb:
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
address: "127.0.0.1",
port: 25,
enable_starttls_auto: false
}
Я следил /var/log/mail.log при регистрации в моем экземпляре GitLab и мне удалось увидеть, что GitLab действительно взаимодействует с постфиксом, но безуспешно. Журнал предполагал, что операция не удалась, потому что IP-адрес заблокирован, но я не думаю, что это правильно, потому что я могу отправлять письма, используя Отправить почту команда.
/var/log/mail.log:
Mar 6 10:58:32 ubuntu postfix/qmgr[12506]: 5BEE724E74: from=<gitlab@ubuntu>, size=630, nrcpt=1 (queue active)
Mar 6 10:59:02 ubuntu postfix/smtp[19746]: connect to example.com[93.184.216.34]:25: Connection timed out
Mar 6 10:59:02 ubuntu postfix/smtp[19746]: connect to example.com[2606:2800:220:1:248:1893:25c8:1946]:25: Network is unreachable
Mar 6 10:59:02 ubuntu postfix/smtp[19746]: 5BEE724E74: to=<admin@example.com>, relay=none, delay=30, delays=0.16/0.1/30/0, dsn=4.4.1, status=deferred (connect to example.com[2606:2800:220:1:248:1893:25c8:1946]:25: Network is unreachable)
Mar 6 11:00:50 ubuntu postfix/pickup[12505]: 07BF424E7A: uid=999 from=<gitlab@ubuntu>
Mar 6 11:00:50 ubuntu postfix/cleanup[19923]: 07BF424E7A: message-id=<54f9f961dca8d_4cc8fc2c6882575@ubuntu.mail>
Mar 6 11:00:50 ubuntu postfix/qmgr[12506]: 07BF424E7A: from=<gitlab@ubuntu>, size=626, nrcpt=1 (queue active)
Mar 6 11:00:51 ubuntu postfix/smtp[19925]: 07BF424E7A: to=<matoni@yahoo.com>, relay=mta6.am0.yahoodns.net[66.196.118.33]:25, delay=1.1, delays=0.02/0.01/0.86/0.18, dsn=5.7.1, status=bounced (host mta6.am0.yahoodns.net[66.196.118.33] said: 553 5.7.1 [BL21] Connections will not be accepted from 109.65.131.14, because the ip is in Spamhaus's list; see http://postmaster.yahoo.com/550-bl23.html (in reply to MAIL FROM command))
Mar 6 11:00:51 ubuntu postfix/smtp[19925]: 07BF424E7A: lost connection with mta6.am0.yahoodns.net[66.196.118.33] while sending RCPT TO
Mar 6 11:00:51 ubuntu postfix/cleanup[19923]: 1A85F24E7C: message-id=<20150306190051.1A85F24E7C@ubuntu>
Mar 6 11:00:51 ubuntu postfix/qmgr[12506]: 1A85F24E7C: from=<>, size=2643, nrcpt=1 (queue active)
Mar 6 11:00:51 ubuntu postfix/bounce[19929]: 07BF424E7A: sender non-delivery notification: 1A85F24E7C
Mar 6 11:00:51 ubuntu postfix/qmgr[12506]: 07BF424E7A: removed
Ваша почта от экземпляра gitlab была принята вашим постфиксом
Mar 6 10:58:32 ubuntu postfix/qmgr[12506]: 5BEE724E74: from=<gitlab@ubuntu>, size=630, nrcpt=1 (queue active)
Но доставка в пункт назначения здесь не работает:
Mar 6 10:59:02 ubuntu postfix/smtp[19746]: 5BEE724E74: to=<admin@example.com>, relay=none, delay=30, delays=0.16/0.1/30/0, dsn=4.4.1, status=deferred (connect to example.com[2606:2800:220:1:248:1893:25c8:1946]:25: Network is unreachable)
Ваш сервер пытается использовать IPv6, но не может подключиться. Кажется, вам нужно отключить IPv6 вручную, используя это в своем main.cf
:
inet_protocols = ipv4
Но ретрансляция (отправка) в Yahoo приводит к ошибке:
Mar 6 11:00:51 ubuntu postfix/smtp[19925]: 07BF424E7A: to=<matangivoni@yahoo.com>, relay=mta6.am0.yahoodns.net[66.196.118.33]:25, delay=1.1, delays=0.02/0.01/0.86/0.18, dsn=5.7.1, status=bounced (host mta6.am0.yahoodns.net[66.196.118.33] said: 553 5.7.1 [BL21] Connections will not be accepted from 109.65.131.14, because the ip is in Spamhaus's list; see http://postmaster.yahoo.com/550-bl23.html (in reply to MAIL FROM command))
Он отклоняется, потому что ваш динамический IP 109.65.131.14 находится в списке рассылки. Похоже, у вас дома есть этот экземпляр с динамическим IP. Но они часто попадают в спамлисты, когда один из предыдущих пользователей этого IP пытался рассылать спам. Вероятно, понадобится либо статический IP (дома или в другом месте), либо использовать сервер ретрансляции. И используйте правильное полное доменное имя, установите правильную обратную запись DNS (PTR) для IP-адреса и так далее, посмотрите много других вопросов о том, как не попасть в спам.
Если процесс отправки завершился неудачно, отправителю отправляется уведомление о недоставке.
Mar 6 11:00:51 ubuntu postfix/bounce[19929]: 07BF424E7A: sender non-delivery notification: 1A85F24E7C
Mar 6 11:00:51 ubuntu postfix/qmgr[12506]: 07BF424E7A: removed
Вам, вероятно, следует прочитать свои письма, которые возвращаются пользователю gitlab
или настройте его как псевдоним для учетной записи администратора.
Я нашел проблему. Как вы можете видеть в журнале:
Mar 6 11:00:51 ubuntu postfix/smtp[19925]: 07BF424E7A: to=<matangivoni@yahoo.com>, relay=mta6.am0.yahoodns.net[66.196.118.33]:25, delay=1.1, delays=0.02/0.01/0.86/0.18, dsn=5.7.1, status=bounced (host mta6.am0.yahoodns.net[66.196.118.33] said: 553 5.7.1 [BL21] Connections will not be accepted from 109.65.131.14, because the ip is in Spamhaus's list; see http://postmaster.yahoo.com/550-bl23.html (in reply to MAIL FROM command))
В нем говорится, что ошибка возникла в ответ на команду MAIL FROM. И как вы можете видеть в этой строке журнала:
Mar 6 11:00:50 ubuntu postfix/pickup[12505]: 07BF424E7A: uid=999 from=<gitlab@ubuntu>
Мой домен был @ubunto и это плохое доменное имя!
Мне нужно было изменить имя домена, установив переменную "external_url" в файле конфигурации GitLab из "http: // ubuntu"на полное доменное имя. (/etc/gitlab/gitlab.rb)