Adressen aus ownCloud in Claws Mail nutzen

Hallo.

Im folgenden beschreibe ich , wie man die Kontakte aus ownCloud automatisch in eine vcf-Datei bekommt, die man in Claws Mail benutzen kann. Es wird wohl aber auch an der CardDAV Unterstützung für das Adressbuch gearbeitet (siehe Link 1). Damit wird dieses Vorgehen früher oder später überflüssig.

Dateinamen und Speicherorte derselben sind natürlich an die eigenen Gegebenheiten anzupassen.

Folgende Programmversionen wurden hier benutzt:

  • Claws Mail 3.8.1
  • ownCloud 4.5.1a

Kurz gesagt, wir laden per cron mit wget die Kontakte als vcf-Datei runter, die im Adressbuch von Claws Mail vermerkt ist. Ganz einfach.

Vorbereitungen

Zuerst muessen wir ein paar Vorbereitungen treffen. Wir legen wir eine leere vcf-Datei an geeigneter Stelle an:

user@rechner:~$ touch adressen.vcf

Diese benutzen wir im Adressbuch von Claws Mail als neue vCard (Shift+Ctrl+D oder Tools – Adress Book, Book – New vCard) und geben ihr einen aussagekräftigen Namen. Nennen wir sie hier „OC Adressen“.

Da die Datei leer ist, wird sich Claws Mail darüber beschweren, daß die Datei keine vcf Datei ist. Naja … sie hat ja auch noch keinen Inhalt. Damit ignorieren wir kompetent diese Beschwerde und fahren fort.

Daten laden

Jetzt brauchen wir ja noch den Inhalt der Datei. In ownCloud kann man sich einen Link zu dem entsprechenden Datenbestand mit dem Export als vCard ausgeben lassen. Den Link bekommt man im Modul Kontakte. Unten rechts neben der Kontakteliste gibt es Einstellungen. Hier auf den Button „Mehr“ drücken und rechts neben dem Kalendernamen hat man verschiedene Optionen. Einer davon ist die Ausgabe der Adresse für den Export der Daten im vCard Format. Auf der Abbildung sind die Buttons noch mal markiert:Darstellung des Links in ownCloud

In Owncloud 5.0.11 (ich weiss leider nicht ab welcher Version genau) gibt es diesen Button leider nicht mehr. Der export funktioniert aber trotzdem noch in dem man den Link fuer die CardDAV-Verbindung speichert und ein „?export“ hinten anhaengt.

Die „Nutzlast“ bekommen wir jetzt mittels des Programmes wget in unsere Adressdatei. Damit das ganze dann auch locker zu automatisieren ist, schreiben wir das alles in ein kleines Script:

#!/bin/bash
# Script to read Addresses from ownCloud an put it in a file that can read by
# Claws-Mail

# Next is really unsecure!
# It's better to put the account data in a restricted credential file
USER=user
PASS=geheim
IP=192.168.1.1
PORT=

TIMEOUT=30
ADDR_FILE=/home/user/adressen.vcf
if [ "$PORT" != "" ]; then
    PORT=":${PORT}"
fi

# Link in german language settings, look over it in
# http://${IP}/owncloud/?app=contacts -> settings -> More -> right of Addressbooks -> writeprotected vcf-link
LINK=http://${IP}${PORT}/owncloud/remote.php/carddav/addressbooks/${USER}/kontakte?export

# Get the data!
OPTIONS="--output-document=$ADDR_FILE --timeout=$TIMEOUT --http-user=$USER --http-password=$PASS"
wget ${OPTIONS} ${LINK}

Dieses Script wird beispielsweise als /home/user/getOCvcf gespeichert und mittels

user@rechner:~$ chmod +x ./getOCvcf

Ausführbar gemacht. Nach der Anpassung auf die eigenen Gegebenheiten (Benutzername, Passwort, …) wird es einmal zum Test ausgeführt.
Damit funktioniert unser Adressbuch in Claws Mail auch schon. Sollte jemandem -wie mir- die Liste der Kontakte sehr kurz vorkommen: Claws Mail listet augenscheinlich nur die Kontakte mit einer E-Mail Adresse auf.

Automatisierung

Die Automatisierung kann einfach durch einen cron job erfolgen. Damit wird die Adressdatei automatisch dem Server nachgeführt.
Um die Datei alle 15 Minuten aktualisieren lassen, trägt man mittels

user@rechner:~$ crontab -e

folgende Zeile zu den Jobs dazu:

*/15 * * * * /home/user/getOCvcf

Das war dann auch schon alles.

In eigener Sache

Über ein bisschen Feedback würde ich mich freuen. Wenn’s gefällt – oder auch nicht. Bei letzterem aber bitte konstruktive Kritik. Natürlich auch über Meldungen von Verbesserungsvorschlägen, fachlichen-, logischen- oder anderen Fehlern. Auch gerne eine Meldung in der Art „Ist leicht zu folgen / funktioniert nicht, weil da fehlen mitten drin ein paar Schritte“.

Dann wünsche ich viel Spaß damit.

Links

  1. http://www.thewildbeast.co.uk/claws-mail/bugzilla/show_bug.cgi?id=2658
  2. http://www.claws-mail.org
  3. Claws Mail bei Slackbuilds
  4. http://owncloud.org
  5. http://de.wikipedia.org/wiki/Cron

Änderungen

  • 2012-01-09: Screenshot eingefuegt
  • 2014-03-25: Hinweis auf Aenderungen in den Links der neuen OwnCloud version

2 Gedanken zu „Adressen aus ownCloud in Claws Mail nutzen

  1. Super Beitrag, danke!
    Funktioniert perfekt, endlich eine Variante um meine carddav in claws zu nutzen. Vorher ging ich den Umweg über evolution und das Gnome Plugin für Claws-Mail. Das Plugin wird aber nicht mehr gepflegt und war auch instabil. Endlich eine solide Lösung!

  2. Cooler Atrikel, danke!

    Es scheint auch ohne den Umweg der leeren Datei zu gehen (Owncloud 7.0.2, Claws Mail 3.9.3). Man kann seine Kontakte zum Beispiel testhalber manuell aus owncloud exportieren und dann in Claws Mail importieren.

    Der cron-Job ist natürlich praktisch, man muss nur dran denken, dass nur von owncloud nach Claws Mail synchronisiert wird — also keine Kontakte in Claws Mail editieren.

    Wenn die Owncloud per https angesprcchen wird und man ein selbst signiertes Zertifikat benutzt, muss man beim wget die –no-check-certificate angeben.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Wordpress Anti-Spam durch WP-SpamShield