Ich suche ein möglichst simples Kommandozeilen-Programm, dass imap-idle beherrscht (also kein regelmäßiges polling). Hintergrund: Ich will einen benutzerdefinierten Befehl ausführen, sobald eine neue Nachricht ankommt (die bestimmten Kriterien entspricht) Nach Möglichkeit sollte es in C oder einer ähnlichen Sprache geschrieben sein, kein Python- oder Perl-Programm mit zig-Abhängigkeiten. Das ist nicht für einen Desktop gedacht.
Imap-Idle
Anmeldungsdatum: Beiträge: 770 |
|
![]() Anmeldungsdatum: Beiträge: 2669 Wohnort: Hamburg |
Wieso interessiert Dich die Sprache, in der ein Programm geschrieben ist? Du willst es doch nur benutzen! Und was ist eine "ähnliche Sprache" zu C?
Beides sind Sprachen, die in so ziemlich jedem Linuxsystem bereits vorhanden sein sollten - wo liegt da also Dein Problem? |
Anmeldungsdatum: Beiträge: 224 |
Dafür kannst du imapfilter verwenden. |
Projektleitung
Anmeldungsdatum: Beiträge: 13212 |
Und vor allem: wieso hat ein C-Programm automatisch keine "zig Abhängigkeiten"? Ciao robert |
(Themenstarter)
Anmeldungsdatum: Beiträge: 770 |
Danke, genau was ich gesucht habe.
Ich habe nur 1GB-Speicher und noch viel weniger RAM zur Verfügung. Da muss ich auf solche Dinge achten.
Was verstehst du unter Linuxsystem? Linux läuft nicht nur auf debian basierten Desktop- oder Serversystemen. Es würde mich z.B. überraschen, wenn Android mit installiertem Python daherkommt.
Nicht automatisch, aber in der Praxis häufig schon (sofern es sich um ein gängiges Unix-CLI-Programm handelt). imapfilter hat neben libssl, libpcre, libc6 (selbstklärend in dem Zusammenhang) nur liblua als ungewöhnliche Abhängigkeit. |
![]() Anmeldungsdatum: Beiträge: 2669 Wohnort: Hamburg |
Ich sehe da noch wie vor keinen Zusammenhang zwischen Deinen Einschränkungen und er Sprache, in der das Programm geschrieben ist!
In der Tat habe ich jetzt Server und Desktopsysteme im Kopf gehabt. Android sehe ich als separates System an - es basiert zwar auf Linux, weist aber zu viele Eigenheiten auf. Wenn Du ein Emebedded System auf einem Router o.ä. hast, dann hätte ich das durchaus im Ausgansgposting erwähnt. |
Projektleitung
Anmeldungsdatum: Beiträge: 13212 |
Naja, dann hast Du ja doch noch eine Skriptsprache bekommen. ☺ Ciao robert |
Anmeldungsdatum: Beiträge: 1261 |
Aber lua ist ne sehr leichtgewichtige Sprache, was die Systemressourcen angeht im Vergleich zu Python und co. Ehrlich gesagt: imap ist so ein einfaches Protokoll, dass ich für so eine Aufgabe mir überlegen würde, selbst ein CLI-Program in C zu schreiben, wenn es keines gibt. |
Anmeldungsdatum: Beiträge: 224 |
|
![]() Anmeldungsdatum: Beiträge: 2669 Wohnort: Hamburg |
Naja, der Entwickler von |
Anmeldungsdatum: Beiträge: 224 |
Richtig, ebenso die Entwickler von mutt, KMail, Thunderbird und anderen IMAP4rev1-kompatiblen Mailclients. Dahinter steckt aber eine gewisse Erfahrung sowie eine Menge verbratene Manntage während der Entwicklung. Mach dir doch mal den Spaß und überfliege die relevanten RFCs. Damit hast du dann allerdings auch noch nicht die nicht ganz RFC-konformen IMAP-Server abgedeckt… |
Anmeldungsdatum: Beiträge: 1261 |
Ja? Du sendest ein Login 'A001 LOGIN user password'. Sagst, dass du ideln willst 'A002 IDLE'. Und wartest eben darauf, dass was kommt. Wenn was kommt, holst du die neuste Nachricht 'A003 fetch X body[header]'. Mehr Imap braucht hier wohl nicht. |
![]() Anmeldungsdatum: Beiträge: 2669 Wohnort: Hamburg |
Ah ok... gibt es da also keine Standard-Lib? Ist ja bitter!
Nö, wozu? Ich würde mir da etwas fertiges suchen und darauf aufbauen 😉 (Außer es gäbe trifftige Gründe, wieso ich das selber implementieren sollte) |
Anmeldungsdatum: Beiträge: 1261 |
Also zumindest das Imap-Protokoll von imap.c traue ich mir zu in einem Tag zu schreiben: https://github.com/lefcha/imapfilter/blob/master/src/imap.c |