Befehl nach Erhalt einer E-Mail ausführen

Befehl nach Erhalt einer E-Mail ausführen

Wie stelle ich Postfix so ein, dass ein Befehl ausgeführt wird, wenn es eine E-Mail an eine bestimmte Adresse/einen bestimmten Benutzernamen oder möglicherweise eine E-Mail mit Text empfängt?

Antwort1

Es gibt keine Möglichkeit zum Abgleichen von Text, aber Sie können alle Nachrichten an eine Adresse an ein Programm weiterleiten.

Sie müssen Ihrer Systemaliasdatei (normalerweise /etc/postfix/aliases) oder der .forward-Datei des Benutzers einen Alias ​​hinzufügen. Die erste Option bietet die größere Flexibilität, da Sie einen Alias ​​für eine Adresse haben können, die eigentlich keinem Konto zugeordnet ist.

Der Alias ​​sollte etwa so lauten:

|/usr/local/bin/command

Sie sollten einen vollständigen Pfad angeben, da Sie den Kontext nicht kennen, in dem er ausgeführt wird.

Wenn Ihr Programm mit 67 beendet wird, wird die Nachricht als unbekannter Benutzer zurückgeschickt, bei 0 wird die Nachricht gelöscht. Alles andere wird erneut versucht, bis die Nachricht abläuft und zurückgeschickt wird.

Achten Sie auf die Sicherheit. Grundsätzlich erlauben Sie damit jedem im Internet, ein Programm auf Ihrem System auszuführen. Vertrauen Sie daher nicht den Benutzereingaben und bereinigen Sie diese, bevor Sie sie verwenden.

Antwort2

Es ist schon eine Weile her, seit ich viel mit Postfix herumgespielt habe, aber soweit ich mich erinnere, war es normalerweise mit einem ziemlich einfachen MDA gebündelt. Dieses konnte aber trotzdem .forward-Dateien im Home-Verzeichnis des Benutzers verstehen. Sie müssten die Dokumentation und Ihre Postfix-Konfiguration lesen, um herauszufinden, für welches MDA es konfiguriert ist.

Der Vater aller MDAs (meiner Meinung nach) ist procmail. Sie können procmail in Ihrer main.cf durch den aktuellen MDA ersetzen - siehehttp://www.postfix.org/faq.html#procmail

Procmail liest eine Datei im Home-Verzeichnis des Benutzers, um zu bestimmen, wie Nachrichten verarbeitet werden. Dies geht weit über eine bloße Konfigurationsdatei hinaus – es ist eher eine Programmiersprache. Es kann sicherlich das, was Sie verlangen.

C.

verwandte Informationen