Procmail · 10 min read · Dec 30, 2025
6.0 Übereinstimmung und reguläre Ausdrücke (regexps)
Autor: Jari Aalto.
1.0 Dokument-ID
- 1.1 Allgemeines
- 1.2 Was ist Procmail?
- 1.3 Abkürzungen und Danksagungen
- 1.4 Versionsinformationen
- 1.5 Dokumentenlayout und -pflege
- 1.6 Über die vorgestellten Rezepte
- 1.7 In Rezepten verwendete Variablen
- 1.8 Über die “nutzlose Verwendung von cat”-Auszeichnung 2.0 Procmail-Hinweise
- 2.1 Wo wird Procmail entwickelt
- 2.2 Procmail-Ressourcen
- 2.3 Procmail-Modus für Emacs
- 2.4 Procmail-Modulbibliotheksprojekt
- 2.5 Procmail-Code zum Filtern von UBE 3.0 Trockenlauf-Tests
- 3.1 Was ist ein Trockenlauf-Test?
- 3.2 Warum ist das Feld “Von” nach dem Trockenlauf nicht in Ordnung?
- 3.3 Erhalten des Standardwerts einer Procmail-Variablen 4.0 Dinge, die zu beachten sind
- 4.1 Holen Sie sich die neueste Procmail-Version
- 4.2 Csh’s Tilde wird nicht unterstützt
- 4.3 Stellen Sie sicher, dass Sie das Rezept richtig beginnen
- 4.4 Setzen Sie immer SHELL
- 4.5 Überprüfen und setzen Sie PATH
- 4.6 Halten Sie das Protokoll immer an
- 4.7 Fügen Sie niemals einen abschließenden Schrägstrich für Verzeichnisse hinzu
- 4.8 Denken Sie daran, was der Begriff “ZUGELIEFERT” bedeutet
- 4.9 Seien Sie vorsichtig, Kommentare an falschen Stellen zu setzen
- 4.10 Platzierung von geschweiften Klammern
- 4.11 Verwendung von lokalen Lockfiles
- 4.12 Globales Lockfile
- 4.13 Wo soll ich all diese ! * $ ?? hinlegen?
- 4.14 Wenn Sie eine automatische Antwort senden, verwenden Sie den X-Loop-Header
- 4.15 Vermeiden Sie eine zusätzliche Shell-Schicht und überprüfen Sie den Befehl auf SHELLMETAS
- 4.16 Denken Sie darüber nach, welche Shell-Befehle Sie verwenden
- 4.17 Verwenden Sie absolute Pfade, wenn Sie ein Shell-Programm aufrufen
- 4.18 Deaktivieren Sie ein Rezept vorübergehend
- 4.19 Halten Sie eine Sicherung der Nachricht, egal was passiert
- 4.20 Reihenfolge der Procmail-Rezepte 5.0 Procmail-Flags
- 5.1 Die Reihenfolge der Flags
- 5.2 Flags HB oben im Rezept (Warnung)
- 5.3 Flag w und Rezept mit |
- 5.4 Flag w, Lockfile und Rezept mit |
- 5.5 Flag f und w zusammen
- 5.6 Flags h und b
- 5.7 Flag h und Sinken nach /dev/null
- 5.8 Flag i und Pipe-Flag f
- 5.9 Flag r
- 5.10 Hintergrund von Flag c
- 5.11 Flag c, bevor der verschachtelte Block ein Kind erzeugt
- 5.12 Flag c und das Verständnis möglicher Forking-Strafen
- 5.13 Flags vor dem verschachtelten Block
- 5.14 Flags aAeE-Tutorial 6.0 Übereinstimmung und regexps (reguläre Ausdrücke)
- 6.1 Philosophie der Abstraktion in regexps
- 6.2 Übereinstimmungen sind nicht groß-/kleinschreibungssensitiv
- 6.3 Procmail verwendet mehrzeilige Übereinstimmungen
- 6.4 Header werden vor der Übereinstimmung entfaltet
- 6.5 Verbesserung des Space-Tab-Syndroms
- 6.6 Umgang mit dem Ausrufezeichen
- 6.7 Regeln zur Erstellung einer Zeichensatzklasse
- 6.8 Übereinstimmung mit Leerzeichen am Ende der Bedingung
- 6.9 Vorsicht bei führendem Backslash
- 6.10 Korrekte Verwendung des TO-Makros
- 6.11 Procmails regexp-Engine
- 6.12 Unterschiede zwischen Procmail und egrep
- 6.13 Verständnis von Procmails minimaler Übereinstimmung (geizig vs. gierig)
- 6.14 Erklärung von \/ und ()\/
- 6.15 Erklärung von ^^ und ^
- 6.16 Traditionelles ANDing
- 6.17 Traditionelles ORing
- 6.18 ORing und Score-Rezept
- 6.19 ORing unter Verwendung der De Morgan-Regeln 7.0 Variablen
- 7.1 Setzen und Zurücksetzen von Variablen
- 7.2 Variableninitialisierung und sh-Syntax
- 7.3 Testen von Variablen
- 7.4 Was bedeutet $\VAR?
- 7.5 Häufige Fallstricke bei der Verwendung von Variablen
- 7.6 Zitieren: Verwendung von einfachen oder doppelten Anführungszeichen
- 7.7 Zitieren: Werte an ein externes Programm übergeben
- 7.8 Werte von einem externen Programm übergeben
- 7.9 Erhöhen einer Variablen um einen Wert N
- 7.10 Vergleichen von Werten
- 7.11 Zeichenfolgen: Wie viele Zeichen gibt es in einer bestimmten Zeichenfolge?
- 7.12 Zeichenfolgen: Wie man das abschließende neue Zeilenzeichen entfernt.
- 7.13 Zeichenfolgen: Ableiten der letzten N Zeichen einer Zeichenfolge.
- 7.14 Zeichenfolgen: Teilübereinstimmungen aus einer Zeichenfolge erhalten.
- 7.15 Zeichenfolgen: Procmail-Zeichenfolgenbearbeitungsbeispiel
- 7.16 Wie man eine Flagge erhöht, wenn die Nachricht abgelegt wurde
- 7.17 Dollarzeichen in Bedingungszeilen.
- 7.18 Finden der mysteriösen foo-Variablen
- 7.19 Speichern von Code in einer Variablen
- 7.20 Header in eine Variable bekommen.
- 7.21 Wert in Kleinbuchstaben umwandeln 8.0 Vorschläge und Verschiedenes
- 8.1 Procmail beschleunigen
- 8.2 Siehe die Beispiele der Procmail-Installation
- 8.3 Drucken von Statistiken über Ihre eingehende Mail
- 8.4 Speichern von UBE-Postfächern außerhalb des Kontingents
- 8.5 Verwenden der ersten 5-30 Zeilen aus der Nachricht
- 8.6 Verwendung von cat oder echo in Skripten?
- 8.7 Wie man einen zusätzlichen Shell-Befehl als Nebeneffekt ausführt?
- 8.8 Erzwingen des “ok” Rückgabestatus aus einem Shell-Skript
- 8.9 Machen Sie Ihre eigene .procmailrc für andere verfügbar
- 8.10 Daten effizient nutzen
- 8.11 Halten Sie einfaches Header-Protokoll
- 8.12 Gzipping-Nachrichten
- 8.13 Not-Aus für Ihre .procmailrc 9.0 Scoring
- 9.1 Verwendung von Scores anhand eines Beispiels
- 9.2 Kurzes Score-Tutorial
- 9.3 Umfang des Scores
- 9.4 Zählen der Länge einer Zeichenfolge
- 9.5 Zählen der Zeilen in einer Nachricht (Hinzufügen von Zeilen: Header)
- 9.6 Bestimmen, ob der Körper länger ist als der Header
- 9.7 Übereinstimmung mit dem letzten “Received”-Header
- 9.8 Testen des Wertebereichs mit Scoring (bogofilter)
- 9.9 Wie man den “Content-Length”-Header hinzufügt
- 9.10 Testen der Nachrichtengröße oder der Anzahl der Zeilen
- 9.11 Zählen von Kommas mit rekursivem includerc 10.0 Formail-Nutzung
- 10.1 Abrufen von Feldern mit formail -x
- 10.2 Verwenden Sie immer die -rt-Option von formail
- 10.3 Verwendung von -rt und Umschreiben der “Von”-Adresse
- 10.4 Formail -rt und “Resent-From”-Header
- 10.5 Zitieren der Nachricht
- 10.6 Ohne die Nachricht zu zitieren
- 10.7 So fügen Sie Header und Body zur Antwortnachricht hinzu
- 10.8 Hinzufügen von Text zu Beginn der Nachricht
- 10.9 Hinzufügen von Text am Ende der Nachricht
- 10.10 Hinzufügen von Text vor der zitierten Nachricht
- 10.11 Hinzufügen zusätzlicher Header aus einer Datei
- 10.12 Aufteilen von Digests
- 10.13 Postfach: Aufteilen in einzelne Dateien
- 10.14 Postfach: Alle “Von”-Adressen aus dem Postfach extrahieren
- 10.15 Postfach: Anwenden des Procmail-Rezepts auf das gesamte Postfach
- 10.16 Postfach: Führen Sie eine Reihe von Befehlen für jede Mail aus (teilen Sie das Postfach)
- 10.17 Option -D und Cache
- 10.18 Option -D und Message-ID im Body
- 10.19 Reduzierung der Formail-Aufrufe (bedingtes Hinzufügen von Feldern)
- 10.20 Formail -A -a Optionen
- 10.21 Formail -e -s Optionen 11.0 Speichern von Mailinglisten-Nachrichten
- 11.1 Verwendung der Unterroutine pm-jalist.rc zur Erkennung von Mailinglisten
- 11.2 Verwendung von Plus-Adressierung [email protected]
- 11.3 Verwendung des RFC-Kommentars für zusätzliche Informationen
- 11.4 Einfache Mailinglistenverwaltung
- 11.5 Archivierung gemäß TO
- 11.6 Verwendung des Return-Path zur Erkennung von Mailinglisten 12.0 Procmail, MIME und HTML
- 12.1 Mime-Bibliographie
- 12.2 Mime-Notizen
- 12.3 Software zur Verarbeitung von MIME oder HTML
- 12.4 Mime-Inhaltstyp application/ms-tnef
- 12.5 Abfangen von HTML-MIME-Nachrichten
- 12.6 Beschwerde über HTML-Nachrichten
- 12.7 Konvertieren des HTML-Körpers in reinen Text
- 12.8 Unerwünschte MIME-Anhänge (HTML, vCard) loswerden
- 12.9 Inhalte einer HTML-Seite in reinem Text an jemanden senden 13.0 Einfache Rezeptbeispiele
- 13.1 Speichern: MH-Ordner – nummerierte Nachrichten
- 13.2 Speichern: in monatliche Ordner
- 13.3 Modifizieren: Filtergrundlagen
- 13.4 Modifizieren: Leere Zeilen um den Nachrichtenkörper herum quetschen
- 13.5 Modifizieren: Header immer in derselben Reihenfolge mischen
- 13.6 Dienst: Automatische Antwort auf leere Nachrichten
- 13.7 Dienst: Ping-Antworter
- 13.8 Dienst: einfache Urlaubsvertretung mit Procmail
- 13.9 Dienst: Urlaubsvertretungscodebeispiel
- 13.10 Dienst: Automatische Weiterleitung
- 13.11 Dienst: Nur bestimmte Nachrichten weiterleiten
- 13.12 Dienst: Erstellen von Digests
- 13.13 Kill: Werbung-Header und -Fußzeilen töten
- 13.14 Kill: einfaches Kill-File-Rezept mit Procmail
- 13.15 Kill: doppelte Nachrichten
- 13.16 Kill: Spam-Filter mit einfachen Rezepten
- 13.17 Kill: (un)abonnieren von Nachrichten
- 13.18 Zeit: Einmal täglich cron-ähnlicher Job
- 13.19 Zeit: Ein Rezept zu einer bestimmten Zeit ausführen
- 13.20 Zeit: Auslösen von Mail und Verwendung von cron
- 13.21 Dekodierung: Uudecode
- 13.22 Dekodierung: MIME
- 13.23 So senden Sie Befehle im Nachrichtenkörper 14.0 Verschiedene Rezepte
- 14.1 Übereinstimmung mit gültigem Message-Id-Header
- 14.2 Senden von zwei Dateien in einer Nachricht
- 14.3 Übermäßiges Zitieren von Nachrichten
- 14.4 Senden von Nachrichten an Pager in Stücken
- 14.5 Abspielen eines bestimmten Sounds, wenn eine Nachricht eintrifft
- 14.6 Kombinieren mehrerer Original-Cc- und Original-To-Header 15.0 Procmail und PGP
- 15.1 Automatisches Entschlüsseln von PGP-Nachrichten
- 15.2 Schlüssel vom Schlüsselserver abrufen
- 15.3 Automatisches Abrufen eingehender PGP-Schlüssel 16.0 Includerc-Nutzung
- 16.1 Verwendung: mehrere rc-Dateien
- 16.2 Verwendung: rc-Datei bedingt aufrufen
- 16.3 Verwendung: Autoloading einer rc-Datei
- 16.4 Erstellung: Benennung der rc-Datei
- 16.5 Erstellung: Verwendung von Namensräumen beim Speichern von Procmail-Variablen
- 16.6 Erstellung: Öffentliche und private Variablen in rc-Datei
- 16.7 Die Faustregeln zum Erstellen allgemeiner rc-Dateien
- 16.8 Ein Includerc-Skelett 17.0 Mailinglistenserver 18.0 Häufige Probleme
- 18.1 Procmail-Modi: normal, Lieferung und Mailfilter.
- 18.2 Procmail als Sendmail Mlocal-Mailfiltergerät
- 18.3 Procmail überträgt keine 8-Bit-Zeichen
- 18.4 Mein ISP ist nicht sehr daran interessiert, Procmail zu installieren
- 18.5 Mein ISP hat ein systemweites procmailrc; ist das eine gute Idee?
- 18.6 Procmail ändert die Berechtigungen von Postfächern und Verzeichnissen
- 18.7 Ändern der mbox-Berechtigungen während der Kompilierung auf 660
- 18.8 Die .forward-Datei muss eine echte Datei sein
- 18.9 Verwendung von .forward, wenn Procmail bereits LDA ist
- 18.10 Mail sollte in die Mailwarteschlange gelegt werden, wenn das Schreiben fehlschlägt
- 18.11 Qmail: Wie man es mit Procmail zum Laufen bringt
- 18.12 Qmail: Procmail sieht nur Dateien aus /var/spool/mail
- 18.13 Qmail: Patch für Procmail 3.11pre7, um mit Maildirs zu arbeiten
- 18.14 AFS: Wie man Procmail verwendet, wenn HOME in AFS-Zelle ist
- 18.15 Hilfe, ein Idiot hat meine Adresse an 30 Mailinglisten gesendet
- 18.16 Hilfe, Procmail piept und druckt auf meine Konsole
- 18.17 Hilfe, Procmail dumpft Mail auf die Konsole
- 18.18 Hilfe, beschädigte From_-Zeile im Postfach
- 18.19 Benutzer-Mail an HOME anstelle von /var/spool/ umleiten
- 18.20 NFS-Montage von /var/mail ist eine gute Möglichkeit, schlechte Leistung zu erzielen
- 18.21 Ich kann die Antwort von Sendmail in LOGFILE nicht sehen
- 18.22 Kompilieren von Procmail und Auswahl des Sperrschemas
- 18.23 Weiterleitung vieler Mails verursacht hohe Last
- 18.24 Was passiert mit der Mail, wenn MDA Procmail fehlschlägt
- 18.25 Procmail liest die gesamte 90-MB-Nachricht in den Speicher
- 18.26 Hilfe, Procmail verwendet gelegentlich einen riesigen Speicherblock
- 18.27 Procmail signalisiert, dass der Speicher in meinem ausführlichen Protokoll ausgeht
- 18.28 Variablen DEFAULT und ORGMAIL
- 18.29 Wenn DEFAULT nicht per Post zugestellt werden kann
- 18.30 Variable DROPPRIVS
- 18.31 Variable HOME
- 18.32 Variable HOST
- 18.33 Variable LINEBUF
- 18.34 Variable LOG und LOGFILE
- 18.35 Variable TRAP
- 18.36 Variable UMASK
- 18.37 UMASK und Berechtigungen
- 18.38 Leistungsunterschied zwischen Backtick und “|”-Rezept
- 18.39 Temporäre Dateinamen von Procmail beim Schreiben von Dateien
- 18.40 Parameter $@
- 18.41 Procmail-Variablen sind nullterminiert (Erkennung von Nullzeichen)
- 18.42 FROMDAEMON TO und TO und Groß-/Kleinschreibungssensitivität
- 18.43 TO_-Makro entschlüsselt
- 18.44 TO_-Makro und RFC 822
- 18.45 FROM_DAEMON entschlüsselt 19.0 Technische Angelegenheiten
- 19.1 Liste der Rückgabecodes
- 19.2 Liste der Präzedenzcodes
- 19.3 Sendmail und -t
- 19.4 RFC822 Reply-To und Formail-Problem mit mehreren Empfängern
- 19.5 Procmail und IMAP-Server
- 19.6 Maschine, die Mail verarbeitet
- 19.7 Kompilieren von Procmail und MAILSPOOLHOME 20.0 Procmail-Software für Emacs
- 20.1 Was ist Emacs
- 20.2 Emacs-Procmail-Modus und Procmail-Codeprüfung (Lint)
- 20.3 Warum Procmail mit Gnus verwenden
- 20.4 Gnus für Procmail einrichten - Grundlagen
- 20.5 Gnus für Procmail - Mehr darüber
- 20.6 Emacs und Gnus - Fiddling mit Spool-Dateien
- 20.7 Gnus-Artikel-Snippets 21.0 RFC, Anfrage nach Kommentaren
- 21.1 RFCs und ihre Zuständigkeit (veränderte Adressen)
- 21.2 Kommentare zu Adressen-Munging
- 21.3 RFC und gültige E-Mail-Adresse-Zeichen
- 21.4 RFC und login-name@fdqn
- 21.5 RFCs und Nachrichten-Signatur
- 21.6 RFC und Verwendung von MIME in Usenet-Newsgroups
- 21.7 Einige RFC-Punkte 22.0 Einführung in E-Mail-Header
- 22.1 Um mehr über Mail zu erfahren (Ressourcen)
- 22.2 Vortrag von Alan Stebbens
- 22.3 Angewandt auf empfangene Nachrichten
- 22.4 Nachrichten-Header
- 22.5 Was ist die korrekte From-Adresse-Syntax
- 22.6 Was ist dieser X-UIDL-Header?
- 22.7 Was ist dieser erste From_-Header?
- 22.8 Message-Id-Header
- 22.9 Received-Header
- 22.10 Return-Path
- 22.11 Errors-To
- 22.12 X-Subscription-Info
- 22.13 Reply-To-Header
- 22.14 Mail-Copies-To-Header
- 22.15 Mail-Followup-To- und Reply-To-Personal-Header
- 22.16 Content-Length-Header und From_-Spezifikation
- 22.17 Moral über CC-Kopien in Usenet
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.