Hallo zusammen, ich hab hier mal wieder ein kleines Problem. Ich habe Postfix so eingerichtet, dass alle ausgehenden E-Mails in der Mailque verbleiben. Ich möchte nun, das in einem gewissen Intervall (30 Minuten) die Mail an den nächsten SMTP-Server versandt werden. Wie kann ich dies automatisieren? Der Mailserver selbst hat keinen direkten Zugang ins Internet, sondern muss über einen Router. Gruß Norman
Am Son, 2002-09-29 um 13.35 schrieb Norman Lyttek:
Hallo zusammen,
ich hab hier mal wieder ein kleines Problem.
Ich habe Postfix so eingerichtet, dass alle ausgehenden E-Mails in der Mailque verbleiben. Ich möchte nun, das in einem gewissen Intervall (30 Minuten) die Mail an den nächsten SMTP-Server versandt werden. Wie kann ich dies automatisieren?
wie wärs mit cron? tschau fisch
Am Sonntag, 29. September 2002 14:10 schrieb Andre Fischer:
Am Son, 2002-09-29 um 13.35 schrieb Norman Lyttek:
Hallo zusammen,
ich hab hier mal wieder ein kleines Problem.
Ich habe Postfix so eingerichtet, dass alle ausgehenden E-Mails in der Mailque verbleiben. Ich möchte nun, das in einem gewissen Intervall (30 Minuten) die Mail an den nächsten SMTP-Server versandt werden. Wie kann ich dies automatisieren?
wie wärs mit cron?
Dachte ich mir auch schon. Krieg das irgendwie nicht hin :-(( Hat irgendwer vielleicht ein Beispiel wie ich das anstellen muss?
tschau fisch
Andre Fischer wrote:
Am Son, 2002-09-29 um 13.35 schrieb Norman Lyttek:
Hallo zusammen,
ich hab hier mal wieder ein kleines Problem.
Ich habe Postfix so eingerichtet, dass alle ausgehenden E-Mails in der Mailque verbleiben. Ich möchte nun, das in einem gewissen Intervall (30 Minuten) die Mail an den nächsten SMTP-Server versandt werden. Wie kann ich dies automatisieren?
wie wärs mit cron?
Nicht wegzuschneiden ist: "Der Mailserver selbst hat keinen direkten Zugang ins Internet, sondern muss über einen Router." Falls das Netz aber keine Verbindung zum Inet hat, wird postfix das bis zum Timeout versuchen, es gibt Errorlogs und die Mails werden eingefroren, bis sie nach einigen Fehlversuchen zum Absender als nicht zustellbar zurückgehen. Man könnte auf eine Verbindung mit einem vorgelagerten Script prüfen, das z.B. die Rückgabe von ping -c 2 -w 1 [HOST] prüft. Bei einer Rückgabe von "0 packets received, 100% packet loss" soll es postfix nicht probieren, bei allem anderen versucht es postfix. Vorausgesetzt pings sind möglich. Andernfalls muss man sich einen anderen "Online-Test" für das LAN suchen. Idealerweise setzt man für HOST auch gleich die Adresse des SMTP-Smarthosts ein.
Am Sonntag, 29. September 2002 14:51 schrieb Markus Kolb:
Andre Fischer wrote:
Am Son, 2002-09-29 um 13.35 schrieb Norman Lyttek:
Hallo zusammen,
ich hab hier mal wieder ein kleines Problem.
Ich habe Postfix so eingerichtet, dass alle ausgehenden E-Mails in der Mailque verbleiben. Ich möchte nun, das in einem gewissen Intervall (30 Minuten) die Mail an den nächsten SMTP-Server versandt werden. Wie kann ich dies automatisieren?
wie wärs mit cron?
Nicht wegzuschneiden ist: "Der Mailserver selbst hat keinen direkten Zugang ins Internet, sondern muss über einen Router."
Falls das Netz aber keine Verbindung zum Inet hat, wird postfix das bis zum Timeout versuchen, es gibt Errorlogs und die Mails werden eingefroren, bis sie nach einigen Fehlversuchen zum Absender als nicht zustellbar zurückgehen.
Das kann eigentlich nicht passieren, da die Mails, die nach Außen gehen auf defered gesetzt sind. Das läuft im Moment ja auch alle problemlos. Nachteilig ist ja nur, dass ich die Zustellung der Mails in der Mailqueue manuell anstossen muss. Die E-Mails werden dann auch korrekt zugestellt.
Man könnte auf eine Verbindung mit einem vorgelagerten Script prüfen, das z.B. die Rückgabe von ping -c 2 -w 1 [HOST] prüft. Bei einer Rückgabe von "0 packets received, 100% packet loss" soll es postfix nicht probieren, bei allem anderen versucht es postfix. Vorausgesetzt pings sind möglich. Andernfalls muss man sich einen anderen "Online-Test" für das LAN suchen. Idealerweise setzt man für HOST auch gleich die Adresse des SMTP-Smarthosts ein.
Norman Lyttek wrote:
Am Sonntag, 29. September 2002 14:51 schrieb Markus Kolb:
Andre Fischer wrote:
[...]
wie wärs mit cron?
Nicht wegzuschneiden ist: "Der Mailserver selbst hat keinen direkten Zugang ins Internet, sondern muss über einen Router."
Falls das Netz aber keine Verbindung zum Inet hat, wird postfix das bis zum Timeout versuchen, es gibt Errorlogs und die Mails werden eingefroren, bis sie nach einigen Fehlversuchen zum Absender als nicht zustellbar zurückgehen.
Das kann eigentlich nicht passieren, da die Mails, die nach Außen gehen auf defered gesetzt sind. Das läuft im Moment ja auch alle problemlos. Nachteilig ist ja nur, dass ich die Zustellung der Mails in der Mailqueue manuell anstossen muss. Die E-Mails werden dann auch korrekt zugestellt.
Wie meinen? Die sind doch durch postfix flush nicht mehr deferred. Dein entsprechender Cronjob lässt auch, wenn keine Internetverbindung besteht, postfix flush laufen. Dann können aber die Mails nicht zugestellt werden. Mach es besser folgendermassen: #/etc/cron.d/postfix SHELL=/bin/sh PATH=/bin:/usr/sbin MAILTO=postmaster SMARTHOST="SMARTHOSTADRESSE" # edit this # 20,50 * * * * root ping -c 1 -q -w 3 $SMARTHOST && \ postfix flush Bitte nur an die Liste antworten. Ich brauche die Mails nicht zweimal.
Am Sonntag, 29. September 2002 19:56 schrieb Markus Kolb:
Norman Lyttek wrote:
Am Sonntag, 29. September 2002 14:51 schrieb Markus Kolb:
Andre Fischer wrote:
[...]
wie wärs mit cron?
Nicht wegzuschneiden ist: "Der Mailserver selbst hat keinen direkten Zugang ins Internet, sondern muss über einen Router."
Falls das Netz aber keine Verbindung zum Inet hat, wird postfix das bis zum Timeout versuchen, es gibt Errorlogs und die Mails werden eingefroren, bis sie nach einigen Fehlversuchen zum Absender als nicht zustellbar zurückgehen.
Das kann eigentlich nicht passieren, da die Mails, die nach Außen gehen auf defered gesetzt sind. Das läuft im Moment ja auch alle problemlos. Nachteilig ist ja nur, dass ich die Zustellung der Mails in der Mailqueue manuell anstossen muss. Die E-Mails werden dann auch korrekt zugestellt.
Wie meinen? Die sind doch durch postfix flush nicht mehr deferred. Dein entsprechender Cronjob lässt auch, wenn keine Internetverbindung besteht, postfix flush laufen. Dann können aber die Mails nicht zugestellt werden.
Sorry, ich hatte nicht erwähnt, dass die Verbindung automatisch aufgebaut wird. Deshalb will ich ausgehende Mails ja auch kontrolliert verschicken
Mach es besser folgendermassen:
#/etc/cron.d/postfix SHELL=/bin/sh PATH=/bin:/usr/sbin MAILTO=postmaster SMARTHOST="SMARTHOSTADRESSE" # edit this # 20,50 * * * * root ping -c 1 -q -w 3 $SMARTHOST && \ postfix flush
Supi.., danke so funktionierts jetzt. Auch allen anderen ein großes Dankeschön
Hallo! Am Sun, 29 Sep 2002 13:35:31 +0200 schrieb Norman Lyttek:
Ich habe Postfix so eingerichtet, dass alle ausgehenden E-Mails in der Mailque verbleiben. Ich möchte nun, das in einem gewissen Intervall (30 Minuten) die Mail an den nächsten SMTP-Server versandt werden. Wie kann ich dies automatisieren? Der Mailserver selbst hat keinen direkten Zugang ins Internet, sondern muss über einen Router.
#!/bin/sh ping -c 1 -q -w 3 192.168.1.177 && /usr/sbin/postfix flush Gruß -- Andreas Meyer
Am Sonntag, 29. September 2002 15:38 schrieb Andreas Meyer:
Hallo!
Am Sun, 29 Sep 2002 13:35:31 +0200 schrieb Norman Lyttek:
Ich habe Postfix so eingerichtet, dass alle ausgehenden E-Mails in der Mailque verbleiben. Ich möchte nun, das in einem gewissen Intervall (30 Minuten) die Mail an den nächsten SMTP-Server versandt werden. Wie kann ich dies automatisieren? Der Mailserver selbst hat keinen direkten Zugang ins Internet, sondern muss über einen Router.
#!/bin/sh ping -c 1 -q -w 3 192.168.1.177 && /usr/sbin/postfix flush
Wie binde ich das in nen Cron-Job ein?
Gruß
Am Son, 2002-09-29 um 16.20 schrieb Norman Lyttek:
Am Sonntag, 29. September 2002 15:38 schrieb Andreas Meyer:
[...]
#!/bin/sh ping -c 1 -q -w 3 192.168.1.177 && /usr/sbin/postfix flush
Wie binde ich das in nen Cron-Job ein?
als der user, der es ausführen soll/darf/muss crontab -e und halt davor noch schreiben wann - genaue Syntax siehe man crontab
Gruß
tschau fisch
Andre Fischer [16:54 29.09.02]:
Wie binde ich das in nen Cron-Job ein?
als der user, der es ausführen soll/darf/muss crontab -e
und halt davor noch schreiben wann - genaue Syntax siehe man crontab
Also zB so: */30 * * * * /skript/zum/flushen/der/queue Dies per crontab -e in die Crontab reingeworfen, und schon schiebt cron alle 30 Minuten rund um die Uhr das Skript an.
participants (5)
-
Andre Fischer
-
Andreas Meyer
-
Andy Feile
-
Markus Kolb
-
Norman Lyttek