Aktionen
Aktionen definieren, was mit E-Mails passiert, die die Filterkriterien erfüllen. Es gibt fünf verschiedene Aktionstypen.
1. Verschieben (move)
Verschiebt die E-Mail in einen anderen Ordner.
action:
type: "move"
target_folder: "INBOX.Important"
max_retries: 3 # Optional: Anzahl Wiederholungsversuche bei Fehler
Parameter
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
target_folder |
String | Ja | Zielordner |
max_retries |
Integer | Nein | Anzahl Wiederholungsversuche bei Fehler (default: 0) |
Beispiel
filters:
- name: "Wichtige Mails verschieben"
criteria:
from: "boss@company.com"
action:
type: "move"
target_folder: "INBOX.Important"
2. Löschen (delete)
Hinweis: E-Mails werden in den konfigurierten trash_folder verschoben (nicht wirklich gelöscht).
action:
type: "delete"
max_retries: 3 # Optional: Anzahl Wiederholungsversuche bei Fehler
Die E-Mail wird in den trash_folder des Accounts verschoben (z.B. "Trash" oder "[Gmail]/Trash"). Falls kein trash_folder konfiguriert ist, wird die E-Mail wirklich gelöscht.
Parameter
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
max_retries |
Integer | Nein | Anzahl Wiederholungsversuche bei Fehler (default: 0) |
Beispiel
filters:
- name: "Spam löschen"
criteria:
from: "spam@evil.com"
action:
type: "delete"
3. Weiterleiten (forward)
Hinweis: Benötigt SMTP-Konfiguration im Account.
action:
type: "forward"
to: "recipient@example.com" # oder Liste: ["user1@example.com", "user2@example.com"]
subject_prefix: "[Forwarded] " # Optional: Präfix für Betreff
max_retries: 3 # Optional: Anzahl Wiederholungsversuche bei Fehler
Die E-Mail wird als Weiterleitung mit Original-Body und Anhängen gesendet.
Parameter
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
to |
String/Liste | Ja | Empfänger-Adresse(n) |
subject_prefix |
String | Nein | Präfix für Betreff (default: leer) |
max_retries |
Integer | Nein | Anzahl Wiederholungsversuche bei Fehler (default: 0) |
Beispiel
filters:
- name: "Wichtige Mails weiterleiten"
criteria:
from: "boss@company.com"
action:
type: "forward"
to: "assistant@company.com"
subject_prefix: "[Forwarded] "
4. Antworten (reply)
Hinweis: Benötigt SMTP-Konfiguration im Account.
action:
type: "reply"
template: "templates/reply.txt" # Pfad zur Template-Datei
subject: "Re: {subject}" # Optional: Betreff-Template
max_retries: 3 # Optional: Anzahl Wiederholungsversuche bei Fehler
Die Antwort wird automatisch mit In-Reply-To und References Headern versehen.
Parameter
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
template |
String | Ja | Pfad zur Template-Datei |
subject |
String | Nein | Betreff-Template (default: "Re: {subject}") |
max_retries |
Integer | Nein | Anzahl Wiederholungsversuche bei Fehler (default: 0) |
Template-Variablen
Folgende Variablen können in Templates verwendet werden:
{from}: Absender-Adresse{to}: Empfänger-Adresse{subject}: Betreff{body_text}: Text-Body{body_html}: HTML-Body{date}: Datum{uid}: E-Mail-UID{cc},{bcc}: CC/BCC-Adressen
Beispiel-Template (templates/reply.txt)
Hallo {from},
Vielen Dank für Ihre Nachricht vom {date}.
Betreff: {subject}
Mit freundlichen Grüßen
Mail-Filter System
Beispiel
filters:
- name: "Auto-Antwort auf Support-Tickets"
criteria:
from: "support@example.com"
subject_contains: "ticket"
action:
type: "reply"
template: "templates/reply.txt"
subject: "Re: {subject}"
5. Externes Script (script)
Hinweis: Scripts müssen in der script_whitelist in general konfiguriert sein (oder Whitelist ist leer = alle erlaubt).
action:
type: "script"
path: "scripts/process.sh" # Absoluter oder relativer Pfad
args: ["{from}", "{subject}"] # Optional: Argumente für Script
timeout: 30 # Optional: Timeout in Sekunden (Standard: 30)
max_retries: 1 # Optional: Anzahl Wiederholungsversuche bei Fehler
Parameter
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
path |
String | Ja | Pfad zum Script (absolut oder relativ) |
args |
Liste | Nein | Liste von Argumenten für das Script (können Template-Variablen enthalten) |
timeout |
Integer | Nein | Timeout in Sekunden (default: 30) |
max_retries |
Integer | Nein | Anzahl Wiederholungsversuche bei Fehler (default: 0) |
Script-Umgebungsvariablen
Folgende Umgebungsvariablen werden dem Script zur Verfügung gestellt:
MAIL_FROM,MAIL_TO,MAIL_CC,MAIL_BCC: AdressenMAIL_SUBJECT: BetreffMAIL_BODY_TEXT,MAIL_BODY_HTML: Body-InhaltMAIL_DATE: DatumMAIL_UID: E-Mail-UIDMAIL_SIZE: Größe in BytesMAIL_ATTACHMENT_PATHS: Komma-getrennte Liste von Anhang-PfadenMAIL_ATTACHMENT_1_PATH,MAIL_ATTACHMENT_2_PATH, etc.: Einzelne Anhang-PfadeMAIL_ATTACHMENT_1_NAME,MAIL_ATTACHMENT_2_NAME, etc.: Anhang-NamenMAIL_ACCOUNT: Account-NameMAIL_FOLDER: Ordner-NameMAIL_HEADERS_JSON: Alle Header als JSON
Script-Sicherheit
Scripts werden nur ausgeführt, wenn:
- Der Script-Pfad in der
script_whitelistingeneralsteht, ODER - Die
script_whitelistleer ist (alle Scripts erlaubt)
Beispiel für Whitelist:
general:
script_whitelist:
- "scripts/process_report.sh"
- "scripts/backup.sh"
- "/usr/local/bin/custom_script.sh"
Beispiel
filters:
- name: "Reports mit Anhängen verarbeiten"
criteria:
from: "reports@company.com"
has_attachment: true
save_attachments: true
attachment_directory: "attachments/work/reports"
action:
type: "script"
path: "scripts/process_report.sh"
timeout: 60
max_retries: 1
Weitere Informationen
- Filter - Filterkriterien
- Sicherheit - Script-Sicherheit
- Verwendung - CLI-Befehle