RSS Subscriptions aus Apple Mail exportieren

Wer Apple Mail als RSS-Reader verwendet und dann später auf eine bessere Alternative, wie zum Beispiel Vienna, umsteigen möchte, erlebt eine böse Überaschung: Apple Mail bietet keine Möglichkeit, die Subscriptions zu exportieren. Für Leute mit einer Handvoll abonnierter Feeds sollte das kein Hindernis darstellen, aber wenn man mit der Zeit schon eine stolze Sammlung zusammengetragen hat, fehlt ein wenig die Motivation, jeden Feed händisch zu übertragen.

Ein Tool hab’ ich auf die Schnelle nicht gefunden, dafür kurzerhand ein kleines Shell-Script gebastelt, das diesen Job übernimmt.

Mail Export Script herunterladen
Ich übernehme keine Haftung für etwaige Schäden! ;-)

Wie sieht dieses Skript aus?

#!/bin/bash
#
# Script to export Mail RSS subscriptions to an OPML file.
# Written by VividVisions.com
#

path=`echo ~/Library/Mail/RSS`
filename="Mail Export.opml"

if [ ! -d $path ]
then
echo “Error: ~/Library/Mail/RSS not found.”
exit 1
fi

export IFS=$’\n’
echo ‘<?xml version=”1.0″ encoding=”utf-8″?>
<opml version=”1.0″>
<head>
<title>Apple Mail Subscriptions</title>
<dateCreated>’`date +%Y-%m-%d’ ‘%H:%M:%S’ ‘%z`’</dateCreated>
</head>
<body>
<outline text=”Apple Mail Import”>’ > $filename

for file in $(find $path -name Info.plist);
do
name=${file%.rss*}
name=${name##*/}
name=${name//\”/\’}
name=${name/&/&}
url=`grep ‘<string>http’ “$file” | grep -o ‘http[^<]*’`
echo “<outline type=\”rss\” xmlUrl=\”$url\” text=\”$name\” description=\”$name\” />” >> $filename
done

echo ‘</outline>
</body>
</opml>’ >> $filename

echo “Done”
exit 0

Was macht dieses Skript?

Das Prinzip ist einfach: Das Skript holt sich aus der Dateistruktur des Mail-Ordners im Library (des ausführenden Benutzers) und der darin enthaltenen Info.plist-Dateien Namen und URLs der Feeds und generiert daraus eine OPML-Datei. Etwaige Unterordner-Hierarchien werden dabei nicht berücksichtigt. Diese OPML-Datei sollte von den gängigen Newsreadern importiert werden können, getestet habe ich es aber nur mit Vienna.

Wie führe ich es aus?

  1. Das Skript in den eigenen Benutzerordner herunterladen (also z.B.: /Benutzer/meinname)
  2. Das Terminal öffnen (Programme → Dienstprogramme → Terminal), man befindet sich bereits im eigenen Benutzerordner
  3. Das Skript ausführbar machen: “chmod u+x mailexport.sh” (ohne Anführungszeichen eingeben und Enter drücken)
  4. Das Skript aufrufen: “./mailexport.sh“, nach kurzer Zeit sollte dort “Done” stehen.
  5. Das Terminal mit “exit” verlassen.
  6. Die im gleichen Ordner entstandene Datei (Mail Export.opml) in den Newsreader importieren - Voilà!

Wie kann ich Dir nur danken?

Bitte, bitte, Du machst mich ja ganz verlegen. ;-)

Ähnliche Beiträge

  • Beitrag kommentieren
  • 2 Kommentare
  • Add this

2 Kommentare

nice one! hab noch nie was mit apple scripts gemacht, aber das hat ohne probleme funktioniert! außer das man in bei punkt 3. anstelle von mailrssexport.sh mailexport.sh angeben muss, zumindest musste ich das machen.
vielen dank!

Teymur, am 10.05.08 um 21:00

Hi Teymur. Danke, ich habe den kleinen Fehler ausgebessert.

Walter, am 11.05.08 um 23:09

Kommentar verfassen









Zum Seitenanfang