Frage

Im zu Vorwärts-E-Mails in verschiedenen Ordnern in meinem Maildir mit procmail. Ich benutze diese beiden Zeilen die FROM und TO von der Post zu erhalten, was ziemlich gut funktioniert.

FROM=`formail -x"From:"`
TO=`formail -x"To:"`

Diese beiden Befehle geben die ganze Zeile ohne From: und To: Präfix. Also ich so etwas wie bekommen:

Firstname Lastname <firstname.lastname@mail-domain.com>

Jetzt möchte ich die E-Mail zwischen extrahieren. Für dieses i Rohr der Variable FROM und TO greppen es so.

FROM_PARSED=`echo $FROM | grep -o '[[:alnum:]+\.\_\-]*@[[:alnum:]+\.\_\-]*'`
TO_PARSED=`echo $TO | grep -o '[[:alnum:]+\.\_\-]*@[[:alnum:]+\.\_\-]*'`

Aber wenn ich in das procmail Protokoll unter Verwendung von LOG = FROM_PARSED FROM_PARSED drucken, i eine leere Zeichenfolge in FROM_PARSED und TO_PARSED erhalten.

Aber wenn ich diese Befehle auf meiner Konsole laufen, funktioniert alles in Ordnung. Ich habe versucht, viele andere Grepping Methoden, mit grep, egrep, sed und sogar schneiden (Schneiden ). Alle Arbeiten an der Konsole, aber ich benutze es in procmail es nur gibt nichts zurück.

Ist es möglich, dass procmail nicht zu verwenden grep und sed Befehle erlaubt? So etwas wie ein chroot?

Ich habe nicht alle Fehlerprotokolle in meinem procmail Protokoll erhalten. Ich möchte nur die gültige E-Mail-Adresse aus der FROM und TO Linie extrahieren. Extrahieren mit formail funktioniert, aber es mit grep oder sed nicht Parsen, auch wenn Ausdruck korrekt ist.

Könnte jemand helfen? Vielleicht muss ich procmail einzurichten irgendwie.

War es hilfreich?

Lösung

Seltsam.

Ich habe dies den Benutzer .procmailrc Datei

SHELL=/bin/bash

Die Benutzer-Shell wurde auf / bin / false, was da ist richtig es ist ein Mail-Benutzer, kein SSH-Zugriff auf alle.

Andere Tipps

Sie sollten richtig zitieren "$FROM" und "$TO".

Sie müssen auch Präfix grep mit LC_ALL=POSIX [:alnum:] um sicherzustellen, dass die tatsächlich entsprechen 26 bekannte Zeichen + 10 Stellen des englischen Alphabets.

You already solved this, but to answer your actual question, it is possible to run procmail in a chroot, but this is certainly not done by Procmail itself. Sendmail used to come with something called the Sendmail Restricted Shell (originally called rsh but renamed to remsh) which allowed system administrators to chroot the delivery process. But to summarize, this is a feature of the MTA, not of Procmail.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top