Mailsortierung mittels procmail
Ich möchte meine Mails per fetchmail abholen und diese mittels procmail den User zuordnen.
Dazu habe ich beim Provider ein Postfach eingerichtet, in das alle Mails laufen (*@domain.de)
Diese Mails hole ich dann mittels fetchmail ab und leite Sie an einen lokalen Benutzer auf dem Linux System weiter.
Dort werden Sie dann auf Spam geprüft und anschließend mittels .procmailrc im Homeverzeichniss des Benutzers an einen Exchange Server weitergeleitet.
Die .procmailrc ist folgendermaßen aufgebaut
Die Mailzuordnung funktioniert leider irgendwie nicht korrekt.
Erstens kommen teilweise Mails beim Admin an, die definitiv einer Regel entsprechen.
Es ist sogar schon beim erneuten abholen einer bereits zugestellten Mail passiert, dass die Mail aufeinmal in keinen "Rezept" mehr passt.
Zweitens hab ich das Problem, dass wenn die Mail an zwei Empfänger meiner Domain geht wird sie nach der ersten Übereinstimmung aus der .procmailrc zugestellt. Das heißt der zweite Empfänger bekommt die Mail erst garnicht.
Woran kann das liegen? Ich habe schon alles mögliche versucht. Foren durchsucht, und in Büchern gelesen.
Wenn jeder Benutzer ein eigenes Postfach hätte wäre das zweite Problem nicht. Aber dies geht aus Kostengründen nicht.
Schonmal vielen Dank im vorraus
Dazu habe ich beim Provider ein Postfach eingerichtet, in das alle Mails laufen (*@domain.de)
Diese Mails hole ich dann mittels fetchmail ab und leite Sie an einen lokalen Benutzer auf dem Linux System weiter.
Dort werden Sie dann auf Spam geprüft und anschließend mittels .procmailrc im Homeverzeichniss des Benutzers an einen Exchange Server weitergeleitet.
Die .procmailrc ist folgendermaßen aufgebaut
...
*Abschnitt der Spamprüfung*
...
:0:
* ^To. user2@domain.de
! user2@domain.de
:0:
* ^To. user2@domain.de
! user2@domain.de
...
:0:
! admin@domain.de
Die Mailzuordnung funktioniert leider irgendwie nicht korrekt.
Erstens kommen teilweise Mails beim Admin an, die definitiv einer Regel entsprechen.
Es ist sogar schon beim erneuten abholen einer bereits zugestellten Mail passiert, dass die Mail aufeinmal in keinen "Rezept" mehr passt.
Zweitens hab ich das Problem, dass wenn die Mail an zwei Empfänger meiner Domain geht wird sie nach der ersten Übereinstimmung aus der .procmailrc zugestellt. Das heißt der zweite Empfänger bekommt die Mail erst garnicht.
Woran kann das liegen? Ich habe schon alles mögliche versucht. Foren durchsucht, und in Büchern gelesen.
Wenn jeder Benutzer ein eigenes Postfach hätte wäre das zweite Problem nicht. Aber dies geht aus Kostengründen nicht.
Schonmal vielen Dank im vorraus
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 34768
Url: https://administrator.de/contentid/34768
Ausgedruckt am: 22.11.2024 um 14:11 Uhr
5 Kommentare
Neuester Kommentar
Ich hab leider keine Lösung für dich und weiss auch nicht ob man es mit deiner Konstellation hinbekommt, aber das Verhalten von Procmail erscheint mir logisch.
zu Zweitens: Also das nur einer von 2 Usern die Mail bekommt ist klar weil wenn ein "Rezept" zutrifft, dann ist die Mail weg, wenn du sie nicht vorher geklont hast z.b. per :0 c ....aber genau da liegt das Problem woher weiss man, dass man die Mail jetzt klonen müsste ?!?!
und zu 1.) ...vielleicht solltest du mal das Logging einschalten und gucken wann er warum er das manchmal die Regel nicht greift.
Ich würde mir die Header der Mails genau anschauen und gucken ob man die Regeln/Rezepte verbessern kann.
btw: IMHO gehört da auch noch ein Stern hinter den Punkt ...sonst greift die Regel gar nicht ?!?
PS: Kann denn der Exchange Server nicht die Aufteilung übernehmen (Ist doch so ein teures/tolles Teil ;-P)?
zu Zweitens: Also das nur einer von 2 Usern die Mail bekommt ist klar weil wenn ein "Rezept" zutrifft, dann ist die Mail weg, wenn du sie nicht vorher geklont hast z.b. per :0 c ....aber genau da liegt das Problem woher weiss man, dass man die Mail jetzt klonen müsste ?!?!
und zu 1.) ...vielleicht solltest du mal das Logging einschalten und gucken wann er warum er das manchmal die Regel nicht greift.
Ich würde mir die Header der Mails genau anschauen und gucken ob man die Regeln/Rezepte verbessern kann.
btw: IMHO gehört da auch noch ein Stern hinter den Punkt ...sonst greift die Regel gar nicht ?!?
:0:
* ^To. *user2@domain.de
! user2@domain.de
Wenn du an den Anfang deiner procmailrc das folgende Rezept stellst:
:0fwh
| formail -z
dann werden alle Header normalisiert, das heißt, die Option -z von formail stellt sicher, daß nach der Header-Feldnamen bezeichnung ein Lehrzeichen steht. Wenn die Header alle das gleiche Format haben könnte das gegen diese manchmal geht es manchmal nicht Sache helfen.
Zu den Mails die an mehrere Empfänger gerichtet sind. Du könntest, beim verteilen generell eine Kopie erstellen (:0c) und dann die Kopie an den jeweiligen user weiterleiten. Bei dem beschriebenen Beispiel atmueller@hier.com und tmueller@hier.com mußt du eben die regel für den atmueller vor die Regel für den tmueller stellen.
Als letzten Eintrag, wenn also alle Benutzer ihre Mails bekommen haben schreibst du
:0
/dev/null
und schickst alle überflüssigen Kopien ins Datennirvana. Bevor Du diesen Eintrag wirklich reinsetzt, solltest du allerdings prüfen, ob mit der Zustellung der anderen Sachen alles klappt.
:0fwh
| formail -z
dann werden alle Header normalisiert, das heißt, die Option -z von formail stellt sicher, daß nach der Header-Feldnamen bezeichnung ein Lehrzeichen steht. Wenn die Header alle das gleiche Format haben könnte das gegen diese manchmal geht es manchmal nicht Sache helfen.
Zu den Mails die an mehrere Empfänger gerichtet sind. Du könntest, beim verteilen generell eine Kopie erstellen (:0c) und dann die Kopie an den jeweiligen user weiterleiten. Bei dem beschriebenen Beispiel atmueller@hier.com und tmueller@hier.com mußt du eben die regel für den atmueller vor die Regel für den tmueller stellen.
Als letzten Eintrag, wenn also alle Benutzer ihre Mails bekommen haben schreibst du
:0
/dev/null
und schickst alle überflüssigen Kopien ins Datennirvana. Bevor Du diesen Eintrag wirklich reinsetzt, solltest du allerdings prüfen, ob mit der Zustellung der anderen Sachen alles klappt.