Exim nie wysyła wiadomości Gitlab z błędem „brak adresów adresatów”

0

Konfiguruję serwer Gitlab i kończę instalację.

Podczas gdy wszystko z Gitlab działa dobrze, weryfikacja adresów e-mail kończy się niepowodzeniem. Otrzymuję następujący błąd:

Date: Wed, 08 Jan 2014 15:41:50 +0100
From: Mail Delivery System <[email protected]>
To: [email protected]
Subject: Mail failure - no recipient addresses

A message that you sent using the -t command line option contained no
addresses that were not also on the command line, and were therefore
suppressed. This left no recipient addresses, and so no delivery could
be attempted.

------ This is a copy of your message, including all the headers. ------

Date: Wed, 08 Jan 2014 15:41:50 +0100
From: [email protected]
Reply-To: [email protected]
To: [email protected]
Message-ID: <[email protected]>
Subject: Confirmation instructions
Mime-Version: 1.0
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: 7bit

<p>Welcome shade!</p>

  <p>You can confirm your email ([email protected]) through the link below:</p>

<p><a href="https://git.example.com/users/confirmation?confirmation_token=XXXXXXXXXXXXX">Confirm my account</a></p>

Czy to błąd w Gitlab, czy pomieszałem konfigurację Exima?

Shade
źródło

Odpowiedzi:

2

Jak widzisz w opisie opcji wiersza poleceń exim , jeśli opcja linii poleceń -t jest używany wtedy odbiorcy są pobierani ze standardowego wejścia polecenia exim (z nagłówków e-maili), a następnie odbiorcy pobrani z linii poleceń są odejmowani z tej listy. Wygląda na to, że masz tych samych odbiorców w wierszu poleceń i nagłówkach wiadomości e-mail.

Możesz usunąć go z linii poleceń, jeśli konfiguracja Gitlab na to pozwala lub możesz użyć no_extract_addresses_remove_arguments opcje w konfiguracji Exima, więc Exim próbuje dodać odbiorców z linii poleceń i nie odejmuje ich (duplikaty będą obsługiwane poprawnie, więc powinieneś dostać to, co chcesz).

dsznajder
źródło
Wydaje się, że użyłem tej odpowiedzi w celu obejścia problemu w styczniu. Ustawienie jako wybrana odpowiedź (przepraszam za opóźnienie).
Shade
1

Według ten przypadek , jest to błąd zarówno w źródłach Ruby, jak i Exim4.

Dostępna jest łatka:

# diff -u /opt/gitlab/embedded/service/gitlab-rails/config/application.rb.org /opt/gitlab/embedded/service/gitlab-rails/config/application.rb
--- /opt/gitlab/embedded/service/gitlab-rails/config/application.rb.org 2014-09-11 16:21:11.641493626 +0200
+++ /opt/gitlab/embedded/service/gitlab-rails/config/application.rb     2014-09-11 16:21:51.959381839 +0200
@@ -7,6 +7,9 @@

 module Gitlab
   class Application < Rails::Application
+    #Fix for compatibility issue with exim as explained at https://github.com/gitlabhq/gitlabhq/issues/4866
+    config.action_mailer.sendmail_settings = { :arguments => "-i" }
+
     # Settings in config/environments/* take precedence over those specified here.
     # Application configuration should go into files in config/initializers
     # -- all .rb files in that directory are automatically loaded.

Uruchom ponownie Gitlab:

gitlab-ctl restart
Larsen
źródło
Fajnie dzięki. Znalazłem obejście, więc działa teraz, ale nie pamiętam już, na czym polegało obejście ... Spróbuję sprawdzić i wrócić do tej odpowiedzi.
Shade