Hallo Kollegen, ich habe mir ein procmail-Rezept überlegt, das Mails über 2MB in ein eigenes pop-File verschiebt und mir (user Ralf) eine Benachrichtigung schickt. Ich könnte das ganbze dann auf dem Linux-Server begutachten und ggf. ins popfile ralf reinkopieren, um es an meinen Windowsrechner weiterzuleiten. Klappt das so wie nachstehend (auch wenn der user riesenmails nicht existiert?)? :0 * > 2000 ! riesenmails | mail -s "Riesenmail (über 2 MB) angekommen!" ralf -- Viele Grüße vom Bodensee, Ralf Steck - Die Textwerkstatt mailto:rsteck@die-textwerkstatt.de --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Ralf Steck wrote:
Hallo Kollegen, ich habe mir ein procmail-Rezept überlegt, das Mails über 2MB in ein eigenes pop-File verschiebt und mir (user Ralf) eine Benachrichtigung schickt. Ich könnte das ganbze dann auf dem Linux-Server begutachten und ggf. ins popfile ralf reinkopieren, um es an meinen Windowsrechner weiterzuleiten. Klappt das so wie nachstehend (auch wenn der user riesenmails nicht existiert?)?
:0 * > 2000 ! riesenmails | mail -s "Riesenmail (über 2 MB) angekommen!" ralf
Die Größenangabe muss in bytes erfolgen und es kann nur eine "action line" geben. Mit zwei Filtern sollte es gehen: :0 h c * > 2000000 * !^X-Loop: ralf | formail -A"X-Loop: ralf" \ -A"X-Warn: Mail groesser 2MB" | \ $SENDMAIL -oi ralf :0 * > 2000000 * !^X-Loop: ralf /pfad/zu/riesenmails Das erste Recipe matcht eine Mail, die größer als 2MB ist und nicht "X-Loop: ralf" im Header stehen hat. Eine Kopie dieser Mail wird erstellt und dem nächsten Recipe übergeben. Der gematchten Mail werden zwei Headerzeilen hinzugefügt und dann wird der Header dieser Mail an "ralf" gesendet. Der X-Loop-Header wird zur Sicherheit eingefügt, damit keine Mailschleifen entstehen können. Die X-Warn-Zeile ist dein Hinweis, dass eine Riesenmail angekommen ist. Mir ist leier nichts eingefallen, wie ich auch noch einen fertigen Body an den Header hänge. "ralf" muss also irgendwie auf Mails mit einem Header im Body und einer "X-Warn: Mail groesser 2MB"-Zeile im Header achten. Das zweite Recipe matcht nun die Kopie der Originalmail und legt sie in der Datei /pfad/zu/riesenmails ab. Bei einem Test bei mir hat es funktioniert, ob wirklich keine Mail-Loops entstehen oder sonstwas merkwürdiges - keine Ahnung. :) christian -- Bitte kein CC: bei Antwort an Mailingliste Etikette per Mail: To: mailings-suse@gmx.de Subject: send etikette http://www.ndh.net/home/schult/etikette.html --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Christian Schult wrote in <20000317035026.B705@rock.coci.de>:
:0 h c * > 2000000 * !^X-Loop: ralf [...]
:0 A /pfad/zu/riesenmails tatt die ersten Checks zu wiederholen, das kostet nur Rechenzeit und ist tippfehleranfällig.
"ralf" muss also irgendwie auf Mails mit einem Header im Body und einer "X-Warn: Mail groesser 2MB"-Zeile im Header achten.
Wie gehts z.B. mit | bignotify ./bignotify: { cat; echo; echo "Grosse Mail angekommen."; } mail ralf ? Grüssings, Hauke. --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Hallo Hauke und Christian, Ich habe mir jetzt was zusammengestückelt, das folgendermaßen aussieht: :0 h c * > 2000000 * !^X-Loop: ralf | echo "Die Mail liegt im Postfach riesenmails" | mail -s "Riesenmail (übe :0 A /var/spool/mail/riesenmails Es funktioniert und ich bekomme eine Hinweismail! Klasse! Da könnte man jetzt sicher noch das "h c" im ersten receipt weglassen, oder? -- Viele Grüße vom Bodensee, Ralf Steck --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Ralf Steck wrote:
Hallo Hauke und Christian,
Ich habe mir jetzt was zusammengestückelt, das folgendermaßen aussieht:
:0 h c * > 2000000 * !^X-Loop: ralf | echo "Die Mail liegt im Postfach riesenmails" | mail -s "Riesenmail (übe ^^^^^^^ Da fehlt wohl noch was.
Die "action line" darf übrigens nur aus einer Zeile bestehen. Wenn du da also einen Zeilenumbruch drin haben willst musst du die Zeile mit \ umbrechen: | echo "Die Mail liegt im Postfach riesenmails" | mail -s \ "Riesenmail (ueber 2MB gross)" ralf
:0 A /var/spool/mail/riesenmails
Es funktioniert und ich bekomme eine Hinweismail! Klasse! Da könnte man jetzt sicher noch das "h c" im ersten receipt weglassen, oder?
Ja, "h" kannst du jetzt weglassen. "c" solltest du nicht weglassen, sonst kriegt das nächste recipe kein Futter. :) christian -- Bitte kein CC: bei Antwort an Mailingliste Etikette per Mail: To: mailings-suse@gmx.de Subject: send etikette http://www.ndh.net/home/schult/etikette.html --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Hallo Christian,
Da fehlt wohl noch was.
Beim Kopieren verschusselt...
Die "action line" darf übrigens nur aus einer Zeile bestehen.
Ich weiss, das ist der Umbruch des Mailers.
Ja, "h" kannst du jetzt weglassen. "c" solltest du nicht weglassen, sonst kriegt das nächste recipe kein Futter. :)
Das stimmt nicht, (ich habe es einfach mal probiert) da ja im recipe nix mit der Mail gemacht, sondern nur eine neue Mail generiert wird. -- Viele Grüße vom Bodensee, Ralf Steck - Die Textwerkstatt --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
participants (3)
-
cschult@gmx.de
-
packbart@tiuval.de
-
rsteck@die-textwerkstatt.de