Frage Postfix - Wie wiederhole ich die Zustellung von Mail in der Warteschlange?


Ich habe einen Backup-Mail-Server im Falle eines Fehlers auf dem Hauptserver. In diesem Fall kommen Mails auf dem Backup-Server und bleiben dort, bis der Hauptserver zurück ist.

Wenn ich einige Male warte, wird die Lieferung automatisch ausgeführt, sobald der Hauptserver zurück ist, aber es kann lange dauern. Wie erzwinge ich einen Sendeversuch für alle Mails?

Zum Beispiel : postqueue -p: gib mir eine Mail-Liste

Ich habe dann Postqueue-f versucht (von Man-Seite: Flush die Warteschlange: versuchen, alle in der Warteschlange eingereihten Mails zu liefern.). Es hat sicherlich die Warteschlange geleert, aber die Mails wurden nicht zugestellt ...


77
2018-06-13 08:42


Ursprung


scheint -f ist flush und -q ist queue (sende die queue) - erm3nda
es gibt kein postqueue -q. Es gibt sendmail -q Um die sendmail-Syntax zu unterstützen, kann Postfix sendmail vollständig ersetzen, aber das ist ein Synonym. Die verschiedenen Buchstaben sind gleich, weil postfix andere als sendmail gewählt hat. - Johannes H.
Sorry nochmal, am selben Tag kommentieren :) also liegen beide falsch. - erm3nda


Antworten:


Gemäß Nachschub (1) du kannst einfach rennen postqueue -f um die Mail-Warteschlange zu leeren. Wenn die E-Mails nach dem Leeren der Warteschlange nicht zugestellt werden, sondern stattdessen erneut angefordert werden, sollten Sie Ihre E-Mail-Protokolle auf Fehler überprüfen.

Werfen Sie einen Blick auf Postsuper (1) könnte auch hilfreich sein. Vielleicht sind die Nachrichten gehalten und müssen zuerst freigegeben werden.


98
2018-06-13 09:18





postqueue -f sollte arbeiten. Wenn nicht, hat das einen guten Grund. Überprüfen Sie die Protokolle. Ebenfalls pfqueue ist ein sehr nützlicher Befehl zur Überprüfung der Mail-Spool.


34
2018-06-13 09:44





sendmail -q Versucht die Zustellung aller E-Mails in der Warteschlange sofort.


12
2018-06-13 10:41



Ist das nicht gleichbedeutend mit dem Ausführen von Postqueue -f? - Dalibor Filus
@NoICE ist es. Von die Dokumente: -q Es wurde versucht, alle in der Warteschlange befindlichen E-Mails zu senden. Dies wird implementiert, indem der Befehl postqueue (1) ausgeführt wird. - the-wabbit
Ich habe das nicht überprüft, aber scheint -f ist flush und -q ist queue. Man versucht dann den anderen nur die Warteschlange zu säubern. Es ist besser zu versuchen, liefern, denke ich. - erm3nda
@ erm3nda Du solltest zumindest die Manpages zuerst überprüfen. Von dem postqueue man page: "-f Spült die Warteschlange: Versucht, die gesamte Mail in der Warteschlange zuzustellen. Diese Option implementiert den traditionellen Befehl" sendmail -q ", indem sie den Postfix qmgr (8) -Daemon kontaktiert." => sie sind Synonym und tun genau dasselbe. " - Johannes H.
@JohannesH. Doh ... Entschuldigung, du hast Recht, ich sollte es lesen. Danke für die Verbesserung. - erm3nda


postqueue -s domain.tld sollte dazu führen, dass die Sicherungsrelay-Maschine alle E-Mails für Ihre Site löscht. Das Standard-Setup für Postfix aktiviert das Spülen pro Site für alle Domains in relay_domains. postqueue -f Ich werde das auch tun, werde aber auch E-Mails für externe Seiten versenden, d. h. es tut mehr als Sie brauchen.

Wie stellen Sie fest, dass die E-Mail nicht zugestellt wurde? Befinden sie sich noch auf dem Backup-Host oder wurden sie an den Haupt-Host gesendet und sind dann verloren gegangen?


4
2018-06-14 15:47