Rss2Mail

Aus Ethersex_Wiki
Wechseln zu: Navigation, Suche

Rss to Mail Gateway

Der Rssreader, FeedsOnRails, den ich (stettberger) mal gebaut habe, hat dermaszen viel last auf dem Server verursacht, dass ich mich entschlossen habe einen Ersatz mit Unix Standard Tools zu bauen. Das ganze soll nun mit imap+procmail zusammenarbeiten, sodass man fuer jeden neuen Artikel eine Mail in einen definierten Ordner kommt.

Einrichtung:

Das ganze soll periodisch vom cron Daemon aufgerufen werden. Folgende Crontab waere ein funktionierender Eintrag:

PATH=/usr/local/rss:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
RECV_ADDRESS="Christian Dietrich <stettberger@dokucode.de>"

*/15 * * * * wget -q -O- 'http://www.sueddeutsche.de/app/service/rss/ressort/politik/rss.xml' | rss2mails Sueddeutsche INBOX.rss.news

Man beachte, dass alle noetigen Scripts in /usr/local/rss liegen ( auf der domina), wenn jemand interesse an diesen Scripts hat, einfach eine Mail an stettberger(at)dokucode(dot)de.

In diesem Eintrag wird der Rssfeed von sueddeutsche.de heruntergeladen und in rss2mails gepiped. rss2mails fuehrt eine liste der Artikel, die er bereits gesehen hat unter ~/.rss/Sueddeutsche.articles. Daher kommt das erste Argument. Das zweite Argument erzeugt einfach einen zusaetlichen Headereintrag in den Mails.

Directory: INBOX.rss.news

Diesen benutzen wir in procmail um die mails in geeignete Ordner zu verschieben, das hat den Vorteil, dass man nicht extra procmail Regeln erstellen muss. Man kommt mit einem einzigen Eintrag aus:

:0
* ^Directory:
{
  DEFAULT=$MAILDIR/.`formail -xDirectory: | tr -d " "`/
  :0 
  $DEFAULT
}

Es sind auch Filter moeglich, damit aus einem Rssfeed nur Artikel kommen, die ein bestimmtes Stichwort im Subject haben:

0 * * * * wget -O- -q http://tolleseite.de/rss | rssgrep tollesache | rss2mails toll INBOX.rss.tollesachen