Frage: Linux - wie kann ich eingehende Mails parsen und per Skript Aktionen starten?

sky^xs

Enthusiast
Thread Starter
Mitglied seit
26.02.2004
Beiträge
2.737
Ort
Woher ich komme? Aus Überzeugung!
Moin,

Was ich vorhabe ist folgendes:
Ich habe mir ein externes GMail Konto eingerichtet an das ich Mails senden möchte,
mit bestimmten Informationen darin. Je nach Information, soll ein Skript auf meiner
Linux VM (Details unten) ausgeführt werden. Wenn das Skript erfolgreich gelaufen ist
soll die Mail gelöscht werden.
Unter Umständen könnte es auch nötig sein, nach Abschluss des Skripts eine Mail
an eine andere Adresse zu senden - Vorzugsweise über das o.g. Gmail Konto um zu
melden, dass die Aktion erfolgreich gelaufen ist.

Als Beispiel:
Mail an <linuxserver>
Inhalt (oder Betreff): "starte Streamingserver"

Wenn der Server die Mail empfängt soll der Inhalt / Betreff geparst und dann das ent-
sprechende Skript abgefeuert werden - z.B. das Startskript für den Streamingserver.
Meinetwegen noch mit einem Parameter, wie lange er laufen soll, bevor er wieder ab-
geschaltet wird. Als i-Tüpfelchen dann vielleicht noch eine Mail an mich, dass er am
Ende wieder gestoppt wurde.

Das Maschinchen ist ein Linux Mint 18.1 Serena, dass in einer VM unter Hyper-V läuft.
Kernle it der aktuelle 4.4.0.62, 64bit


So jetzt die Masterfrage - womit möglichst "easy" realisieren? Vorzugsweise über Bord-
Mittel ohne Tools die eine GUI haben / benötigen.
Mails senden müsste direkt über Python an die GMail Server gehen. Einen eigenen Mail-
server (via DynDNS Adresse nach / mit draussen) möchte ich mir eigentlich nicht auf-
setzen. Ideen? :)
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Moin Jungs...

ich hab zwischenzeitlich nen Haufen Python Skripte gebastelt und greife darüber direkt
auf gmail zu (import email, import imaplib, ...). Damit kann ich direkt auf das eigens
dafür eingerichtete gmail Konto (/Inbox) zugreifen, die darin befindlichen Mails parsen,
verarbeiten und bei Bedarf löschen. D.h ich brauche weder procmail noch fetchmail.
Allerdings habe ich da eine gewisse Latenz, da die Skripte nicht direkt über eine ein-
gehende Mail getriggert werden, sondern alle 2 Minuten via Cron gestartet werden.

Als V1 läuft das soweit ganz gut - der Code könnte vermutlich besser sein, aber ich
habe erst diese Woche angefangen Python zu schreiben (für eine inGame App für
Assetto Corsa :d)...

Ich denke für V2 werde ich mal mit procmail / fetchmail experimentieren.

In der aktuellen V1 ist auch noch keine Benachrichtigung (via Email / SMS) an mich
zurück enthalten. Step by Step :) - stackoverflow.com beste Hilfe im Netz :)
 
Fetchmail kann IMAP IDLE. Damit kannst du die Latenz eliminieren.

Procmail wird schon seit einem Jahrzehnt nicht mehr gepflegt und der Autor hat seinerzeit Maildrop als Alternative empfohlen.
 
Über die Google API kannst du deine Anwendung auch fast ohne Latenz anbinden. Damit wäre es auch möglich aktive Sessions per Google Calendar zu "visualisieren" (zB Gameserver läuft von 09:00 bis 12:00) oder einfach eine Mail laufend mit den neuersten Daten zu aktualisieren. Schlussendlich würde ich jedoch eher eine generische Lösung empfehlen die unabhängig von Google auch mit anderen Providern funktioniert.

https://developers.google.com/gmail/api/guides/?hl=de
 
Zuletzt bearbeitet:
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh