2012-07-15 7 views
15

Ich lerne seit einiger Zeit Haskell und mit jeder neuen Programmiersprache lerne ich ein kleines Projekt, das die Arbeit mit einem Mail-Server und die Veröffentlichung von RSS- und Atom-Inhalten erfordert. Das einzige Problem ist, ich kann keine anständigen Pakete für diese finden oder zumindest keine Bewertungen von Paketen finden.Haskell RSS-, Mail- und XML-Bibliotheksauswahl

Also werde ich die Community fragen:

Alle bevorzugten Pakete für mit einem Mail-Server interagieren? (IMAP, POP3 usw.)

Alle bevorzugten Pakete für die Veröffentlichung eines RSS- und/oder Atom-Feeds? Fehlt das, irgendein bevorzugtes Paket für allgemeines XML?

Irgendwelche Vorschläge für einen minimalistischen, reibungsarmen Webserver, der all das zusammenhält?

Vielen Dank im Voraus.

+4

Darf ich fragen, warum diese Frage geschlossen wurde? Es gibt andere Fragen zu Bibliotheken, sowohl zu Haskell als auch zu anderen Sprachen, und sie sind nicht geschlossen. – Michael

+1

Die 'feed'-Bibliothek ist eine gute Wahl für ernsthafte RSS-Arbeit. Für das Publishing mag ich Feed-cli oder feed selbst. –

+2

@DonStewart wir hatten Probleme mit dem 'feed' Paket, um Feeds in der Vergangenheit zu analysieren, eine Kombination aus langsamer Leistung, Platzverlust und Inkompatibilität mit echten (nicht genau RFC-konform) Feeds ... und so haben wir am Ende noch geschrieben ein anderer Parser basierend auf 'xml-enumerator'. Eines Tages werden wir es wahrscheinlich auf 'xml-conduit' portieren und es auf Hacker stellen. –

Antwort

2

Nur um diese Frage zu beantworten, ist das feed Paket gut für die Herstellung von RSS. Bei E-Mail-Nachrichten werden normalerweise nur die ausführbaren sendmail-Dateien verwendet. Das mime-mail-Paket bietet einen Wrapper dafür sowie einige zusätzliche Tools. Wenn Sie möchten, lesen Sie E-Mail, ist der typische Weg, um oder dergleichen einzurichten, und dann mit einem mbox Parser mit den generierten Dateien direkt interagieren. Zwei Parser sind mbox und .

Wenn Sie wirklich mit pop3/imap interagieren möchten, können Sie die ehemalige mit pop3-client und die letztere mit HaskellNet tun, die ziemlich alt ist, aber anscheinend funktioniert. Beispielcode für die Verwendung ist verfügbar here.

+0

Danke für die ausführliche Erklärung! Da ich nur sehr leichte Arbeit machen muss, denke ich, dass ich den pop3-Client verwenden werde, aber danke, dass du auf den procmail-Weg hingewiesen hast. – Michael