Postfix - jak ponowić próbę dostarczenia poczty w kolejce?


94

Mam zapasowy serwer poczty w przypadku awarii głównego. W przypadku awarii wiadomości przychodzą na serwer zapasowy i pozostają tam, dopóki główny nie wróci.

Jeśli poczekam kilka razy, dostawa zostanie wykonana automatycznie, gdy tylko główny serwer wróci, ale może być długi. Jak więc wymusić ponowne wysłanie wszystkich wiadomości e-mail?

Na przykład: postqueue -p: daj mi listę maili

Następnie spróbowałem postqueue -f (ze strony podręcznika: Opróżnij kolejkę: spróbuj dostarczyć całą kolejkę). Z pewnością opróżnił kolejkę, ale maile nie zostały dostarczone ...


wygląda na to, że -f ma kolor, a -q to kolejka (wyślij kolejkę)
erm3nda

1
nie ma postqueue -q. Istnieje sendmail -qobsługa składni sendmaila, aby postfix mógł całkowicie zastąpić sendmaila, ale to synonim. Różne litery to jsut, ponieważ Postfiks wybrał inne niż zrobił to sendmail.
Johannes H.

Przepraszam jeszcze raz, skomentuj tego samego dnia :), więc oba są w błędzie.
erm3nda

Odpowiedzi:


112

Zgodnie z postqueue (1) możesz po prostu uruchomić, postqueue -faby opróżnić swoją kolejkę pocztową. Jeśli wiadomości e-mail nie są dostarczane po opróżnieniu kolejki, ale są wymagane, możesz sprawdzić dzienniki poczty pod kątem błędów.

Pomocne może być również zerknięcie na postuper (1) . Być może wiadomości są zawieszone i trzeba je najpierw udostępnić.


36

postqueue -fpowinno działać. Jeśli nie, ma ku temu dobry powód. Sprawdź dzienniki. Również pfqueue jest bardzo przydatnym poleceniem do sprawdzania bufora poczty.


15

sendmail -q natychmiast ponawia próbę dostarczenia wszystkich wiadomości w kolejce.


Czy to nie to samo, co uruchomienie postqueue -f?
Dalibor Filus

2
@NoICE to jest. Z dokumentów : -q Próba dostarczenia całej kolejki poczty. Jest to realizowane przez wykonanie polecenia postqueue (1).
the-wabbit

Nie sprawdziłem tego, ale wydaje się, że -f jest flush, a -q to kolejka. Jeden próbuje wysłać, a drugi po prostu wyczyść kolejkę. Chyba lepiej spróbować dostarczyć.
erm3nda

1
@ erm3nda Najpierw sprawdź przynajmniej strony podręcznika. Ze strony podręcznika postqueue: „-f Opróżnij kolejkę: spróbuj dostarczyć całą kolejkę. Ta opcja implementuje tradycyjne polecenie„ sendmail -q ”, kontaktując się z demonem Postfix qmgr (8).” => są synonimami i robią dokładnie to samo. „
Johannes H.,

@JohannesH. Doh ... przepraszam, masz rację, że powinienem to przeczytać. Dziękuję za poprawę.
erm3nda

4

postqueue -s domain.tldpowinien spowodować, że zapasowa maszyna przekaźnikowa opróżni wszystkie wiadomości e-mail dotyczące Twojej witryny. Domyślna konfiguracja Postfix umożliwia opróżnianie poszczególnych witryn dla wszystkich domen w relay_domains. postqueue -fzrobi to również, ale także wypchnie pocztę dla zewnętrznych stron, tj. robi więcej, niż potrzebujesz.

Jak ustalasz, że poczta nie została dostarczona? Czy nadal znajdują się na hoście zapasowym, czy zostały wysłane do głównego hosta, a następnie zgubiły się?

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.