ubuntuusers.de

Imap-Idle

Status: Gelöst | Ubuntu-Version: Server 10.04 (Lucid Lynx)
Antworten |

Red_Radish

Anmeldungsdatum:
7. September 2007

Beiträge: 770

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.

Lysander

Avatar von Lysander

Anmeldungsdatum:
30. Juli 2008

Beiträge: 2669

Wohnort: Hamburg

Red Radish schrieb:

Nach Möglichkeit sollte es in C oder einer ähnlichen Sprache geschrieben sein, ...

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?

...kein Python- oder Perl-Programm mit zig-Abhängigkeiten.

Beides sind Sprachen, die in so ziemlich jedem Linuxsystem bereits vorhanden sein sollten - wo liegt da also Dein Problem?

Roger_Wilco

Anmeldungsdatum:
11. August 2010

Beiträge: 224

Dafür kannst du imapfilter verwenden.

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13212

Lysander schrieb:

Red Radish schrieb:

Nach Möglichkeit sollte es in C oder einer ähnlichen Sprache geschrieben sein, ...

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?

...kein Python- oder Perl-Programm mit zig-Abhängigkeiten.

Beides sind Sprachen, die in so ziemlich jedem Linuxsystem bereits vorhanden sein sollten - wo liegt da also Dein Problem?

Und vor allem: wieso hat ein C-Programm automatisch keine "zig Abhängigkeiten"?

Ciao

robert

Red_Radish

(Themenstarter)

Anmeldungsdatum:
7. September 2007

Beiträge: 770

Roger Wilco schrieb:

Dafür kannst du imapfilter verwenden.

Danke, genau was ich gesucht habe.

Lysander schrieb:

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?

Ich habe nur 1GB-Speicher und noch viel weniger RAM zur Verfügung. Da muss ich auf solche Dinge achten.

Beides sind Sprachen, die in so ziemlich jedem Linuxsystem bereits vorhanden sein sollten - wo liegt da also Dein Problem?

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.

rklm schrieb:

Und vor allem: wieso hat ein C-Programm automatisch keine "zig Abhängigkeiten"?

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.

Lysander

Avatar von Lysander

Anmeldungsdatum:
30. Juli 2008

Beiträge: 2669

Wohnort: Hamburg

Red Radish schrieb:

Lysander schrieb:

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?

Ich habe nur 1GB-Speicher und noch viel weniger RAM zur Verfügung. Da muss ich auf solche Dinge achten.

Ich sehe da noch wie vor keinen Zusammenhang zwischen Deinen Einschränkungen und er Sprache, in der das Programm geschrieben ist!

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.

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.

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13212

Red Radish schrieb:

rklm schrieb:

Und vor allem: wieso hat ein C-Programm automatisch keine "zig Abhängigkeiten"?

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.

Naja, dann hast Du ja doch noch eine Skriptsprache bekommen. ☺

Ciao

robert

Kinch

Anmeldungsdatum:
6. Oktober 2007

Beiträge: 1261

rklm schrieb:

Naja, dann hast Du ja doch noch eine Skriptsprache bekommen. ☺

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.

Roger_Wilco

Anmeldungsdatum:
11. August 2010

Beiträge: 224

Kinch schrieb:

imap ist so ein einfaches Protokoll

Haha, selten so gelacht. Viel Spaß bei der Implementierung eines eigenen IMAP4rev1 Clients. 😉

Lysander

Avatar von Lysander

Anmeldungsdatum:
30. Juli 2008

Beiträge: 2669

Wohnort: Hamburg

Roger Wilco schrieb:

Haha, selten so gelacht. Viel Spaß bei der Implementierung eines eigenen IMAP4rev1 Clients. 😉

Naja, der Entwickler von imapfilter hat das ja letztlich auch gemacht! Ich hätte ja auch gedacht, er nutzt eine Art libimap o.ä., aber offensichtlich hat er sich auch lieber einen eigenen Wrapper für das Protokoll gebastelt. Nuja, NIH rulez eben doch - nicht nur bei PHP-Entwicklern 😀

Roger_Wilco

Anmeldungsdatum:
11. August 2010

Beiträge: 224

Lysander schrieb:

Naja, der Entwickler von imapfilter hat das ja letztlich auch gemacht!

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. imapfilter wurde auch nicht innerhalb eines Tages geschrieben.

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…

Kinch

Anmeldungsdatum:
6. Oktober 2007

Beiträge: 1261

Roger Wilco schrieb:

Haha, selten so gelacht. Viel Spaß bei der Implementierung eines eigenen IMAP4rev1 Clients. 😉

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.

Lysander

Avatar von Lysander

Anmeldungsdatum:
30. Juli 2008

Beiträge: 2669

Wohnort: Hamburg

Roger Wilco schrieb:

Richtig, ebenso die Entwickler von mutt, KMail, Thunderbird und anderen IMAP4rev1-kompatiblen Mailclients.

Ah ok... gibt es da also keine Standard-Lib? Ist ja bitter!

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…

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)

Kinch

Anmeldungsdatum:
6. Oktober 2007

Beiträge: 1261

Roger Wilco schrieb:

imapfilter wurde auch nicht innerhalb eines Tages geschrieben.

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

Antworten |