Vor einiger Zeit habe ich mir ein kleines PHP-Script geschrieben, welches ungelesene Mails meines IMAP-Accounts als RSS-Feed ausgibt. Ich wollte damit auf einen Blick sehen können, ob es sich lohnt mich über Webmail einzuloggen. Vielleicht kann ja jemand etwas damit anfangen:
<?php /********************************************************** Name: IMAP2RSS Author: Michael Voggenreiter Mail: michi[at]michis-blog.net Blog: http://www.michis-blog.net Version: 1.0 Last Change: 07.05.2010 17:00 **********************************************************/ $imapserver = "imap.example.com"; $username = "user@example.com"; $password = "secret"; $directory = "INBOX"; $mbox = imap_open("{".$imapserver.":143/imap}".$directory, $username, $password) or die(imap_last_error()); $mails = imap_search($mbox, "UNSEEN"); print("<?xml version=\"1.0\" encoding=\"UTF-8\"?> <rss version=\"2.0\"> <channel> <title>IMAP2RSS</title> <description>Get your unread mails as RSS Feed</description> <language>de</language> <link>http://xml-rss.de</link> <lastBuildDate></lastBuildDate>"); foreach($mails as $mail) { $currentmail = imap_header($mbox, $mail); print("<item> <title>".imap_utf8($currentmail->subject)."</title> <description /> <author>".htmlspecialchars($currentmail->fromaddress)."</author> <pubDate>".imap_utf8($currentmail->date)."</pubDate> </item>"); } print(" </channel> </rss>"); imap_close($mbox); ?>
Zum Schluss noch ein Sicherheitshinweis: Wenn das Script auf einem öffentlich zugänglichen Webserver läuft, kann natürlich jeder, der den Namen der Datei kennt, die ungelesenen Mails sehen. Man sollte das Script also noch entsprechend absichern.
Aus diesem Grund wird auch nur der Betreff der Mails und kein Inhalt ausgegeben.