2009-05-07 8 views

Antwort

2

Sie hätten in Ihrer Frage zumindest etwas genauer sein sollen. Ich werde trotzdem ein paar Vorschläge einbringen.

Wenn Sie nur alle vier Stunden Mail senden möchten, müssen Sie sendmail im Nur-Warteschlange-Modus (QUEUE_MODE = "cron"; in sendmail.conf) ausführen und die Warteschlange alle vier Stunden einrichten (QUEUE_INTERVAL = "4h";). Ich denke, das gilt nur für Debian-ähnliche Systeme, aber das Prinzip ist überall dasselbe: Sie setzen den Warteschlangenmodus auf cron (das wird eigentlich von den Argumenten gesteuert, mit denen Sie sendmail starten) und dann bearbeiten Sie es regelmäßig.

Wenn Sie nur E-Mail-Zustellung verzögern möchten, gibt es auch eine Reihe von Möglichkeiten, es zu tun, abhängig von warum Sie es tun möchten. Eine beliebte Lösung ist Greylisting, es tut nur Folgendes - wenn ein Host zu Ihrem MTA (sendmail, f.ex.) verbindet, wird es mit der Aufforderung, in einem bestimmten Zeitintervall erneut zu versuchen. Ein richtig konfigurierter Mailer wird das einfach tun - er wird versuchen, die Mail erneut zu senden und schließlich wird die Nachricht akzeptiert und zugestellt (oder weitergeleitet). Die meisten Spam-Bots versuchen andererseits nicht, die Nachricht erneut zu senden, nachdem sie einen Fehler erhalten haben. Wenn Sie Greylisting auf sendmail benötigen, können Sie hier nachlesen: http://www.greylisting.org/implementations/sendmail.shtml

Hoffe das half zumindest ein bisschen.

EDIT:

Ok, so jetzt ich sehe, was Sie brauchen zu tun. Hier ist die mögliche Lösung mit sendmail (ich habe seit Jahren auf die eine oder andere Weise mit sendmail zu tun, also ..: P): Sie verwenden zwei von ihnen.

Der erste empfängt nur E-Mails und stellt sie in eine Warteschlange und (und es ist wichtig), dass er die Warteschlange NICHT verarbeiten kann. Die zweite sendmail-Instanz führt eine separate Warteschlange aus und ihr QUEUE_MODE wird auf daemon oder cron gesetzt (etwa jede Minute). Jetzt brauchen Sie nur noch ein externes Skript zu schreiben, das die Mail von der ersten zur zweiten Warteschlange bringt, sobald das "Alter" der Nachricht erreicht ist. Da es sich bei den Warteschlangen nur um Dateien handelt, ist dies eine einfache Aufgabe, die in ein paar Zeilen, sagen wir mal, Perl ausgeführt wird (Hölle, ein Shell-Skript kann das auch). Das Verschieben von Warteschlangenelementen von der Warteschlange in die Warteschlange ist so einfach wie das Verschieben von Dateien von Verzeichnis zu Verzeichnis. Bitte beachten Sie, dass diese Technik weit verbreitet in Mail-Processing-Lösungen verwendet wird, wie zum Beispiel spamassassin, so ist es nicht irgendeine Seltsamkeit, von meinem erkrankten Geist beschworen: P

Hoffe, das gibt Ihnen einen oder zwei Hinweise.

+0

Ich werde zurückgehen und meine Frage klären, aber keine dieser Lösungen wird unglücklicherweise funktionieren. Wenn Mail zur Zeit t ankommt, muss sie zum Zeitpunkt t + 4 Stunden weitergeleitet werden. Die graue Liste funktioniert nicht, da die E-Mail vom Relay akzeptiert und in die Warteschlange gestellt werden muss. – Peauters

+0

Ja, das macht es klarer.Während ich zunächst etwas verwirrt darüber war (was die Leute normalerweise nicht mit ihrer Post machen würden), kam mir eine mögliche Lösung in den Sinn. – shylent

Verwandte Themen