Bloggen per Mail
Nachdem ich schon beschrieb, wie man per XMLRPC und IFTTT Einträge im Weblog veröffentlichen kann, möchte ich noch eine andere Methode beschreiben, die durchaus als Alternative und/oder Ergänzung dienen kann: Bloggen per E-Mail
Ziel ist es, einfach eine E-Mail an eine geheime Adresse zu schicken und Serendipity bereitet daraus einen fertigen Weblog-Beitrag vor und veröffentlicht diesen auf Wunsch vielleicht sogar automatisch.
Was wird benötigt
- Serendipity
- das Plugin serendipity_event_popfetcher um die Mails aus einem Konto abholen zu können
- ein E-Mail-Konto, welches im Idealfall nur für die Weblog-Beiträge verwendet wird (z.B. bernds-weblog-veroeffentlicher-13213532@example.org oder so)
Einrichtung des E-Mail-Kontos
Ich beschreibe nachfolgend mal meine Einstellungen anhand von “Google Mail”, aber natürlich kann man (vermutlich) auch jeden anderen Anbieter nehmen, der das POP3-Protokoll unterstützt.
Bei Google kommen wir dabei gleich zu einem Sonderfall: Hier muss man nämlich in den E-Mail-Einstellungen unter Weiterleitung und POP/IMAP den POP3-Zugang erstmal aktivieren, damit man ihn nutzen kann.
Es kann sein, dass auch bei anderen Anbietern so etwas erforderlich ist. Dazu dann bitte beim Anbieter nachsehen ob/wo das möglich ist.
Einrichtung des POPfetcher-Plugins
Die Einrichtung kann sich etwas in die Länge ziehen, je nachdem wie gut man die Einstellungen seines Mail-Anbieters kennt.
Plugin Methode: Intern
Das habe ich erstmal so gelassen, man muss also den POP3-Abruf manuell starten. Wenn man auf “Extern” stellt, muss man sich per Cron einen Job einrichten, der automatisch regelmäßig diesen Abruf vornimmt. Dazu komme ich vielleicht am Ende nochmal, da nicht jeder Anbieter so einen Dienst anbietet.
Name für externen Aufruf: bernd-popfetcher-1234567890
Der Hilfe-Text sagt es eigentlich schon. Hier soll ein geheimer Name stehen, über den man den POP-Abruf starten kann, wenn die Methode auf “Extern” gestellt wurde. Vorsichtshalber kann man hier auch jetzt schon einen geheimen Namen vergeben.
Beim Namen ist darauf zu achten, dass Unterstriche nicht erlaubt sind. Ich hatte das erst im Namen und mich gewundert, dass die externe URL nicht erreichbar war.
Autor: Bernd
Im Namen welches Autors sollen die Beiträge veröffentlicht werden?
Mail Server: pop.googlemail.com
POP3 User: bernds-weblog-veroeffentlicher-13213532@example.org
Passwort: adsföjk3ojfasdn452356346
Hier müsst ihr natürlich euren Server und eure Zugangsdaten eintragen.
E-Mail Absender:
Hier müsst ihr euch überlegen, ob ihr eine Prüfung des Absenders eintragen wollt. Sollte bei einer geheimen Adresse theoretisch unnötig sein, außer ihr bekommt von eurem Anbieter (GMX ist da ganz schlimm) irgendwelche Newsletter, dann kann das problematisch sein und der Absender sollte geprüft werden. Wichtig ist hier, es muss der genaue Absender drin stehen. Falls also im Absender auch euer Name drin steht, muss es in diesem Feld auch so stehen. Würdet ihr hier nur die E-Mail-Adresse eintragen, würde der Absender dann nicht korrekt erkannt. In meinen Augen ein Fehler, müsste man mal mit einem Programmierer klären.
Upload Verzeichnis:
Hier wird ein spezielles Verzeichnis eingetragen, in dem E-Mail-Anhänge gespeichert werden sollen. Ich habe das leer gelassen, da ich die nächstfolgende Option verwende:
Save attachments in subdirectories like 2010/02/ for chronological order?
Ja, ich speichere meine Anhänge chronologisch. Macht ihr hier “Nein”, solltet ihr vorher auf jeden Fall ein Verzeichnis angeben (z.B. Mail-Uploads), in dem die Dateien gespeichert werden, sonst könnte es unübersichtlich werden in der Medien-Verwaltung.
Blog
Hier sollte man im Normalfall “Ja” auswählen, damit aus der Mail ein Beitrag erstellt wird. Möchte man nur die Anhänge im Medien-Manager speichern ohne daraus einen Beitrag zu generieren, kann man auch “Nein” auswählen.
Use plaintext attachments as entry body?
Steht standardmäßig glaube ich auf “Ja”. Damit werden automatisch anhängende Text-Dateien als Text in den Beitrag übernommen. Habe ich noch nie benötigt, aber falls es jemand braucht, damit geht es.
Text preference
Habe ich auf “Plain Text” gestellt, weil ich meine Mails alle nur in Rein-Text schreibe. Für Formatierungen kann man viel einfacher MarkDown oder Textile benutzen, letzteres verwende ich im Weblog sowieso schon.
Auf die nächsten Optionen will ich gar nicht groß eingehen, da kann sich ja jeder selbst die Hilfetexte durchlesen und entscheiden, ob es benötigt wird.
Mail Löschen
Am Anfang könnte man das noch auf “Nein” stehen lassen, falls man eine Kontrolle möchte, ob alles korrekt funktioniert oder falls man die Mails als Archiv aufheben möchte. Später kann man das aber getrost auf “Ja” stellen, wenn alles läuft.
APOP
Steht bei mir für Google Mail auf “Nein”, hängt aber vom Provider ab, ob man das benutzen muss.
POP3 port: 995
Sollte man möglichst auf 995 stellen, damit für den Abruf SSL verwendet wird.
Hat man alle Einstellungen gemacht und gespeichert, sollte man über den Menü-Link “POPfetcher” testen, ob Mails abgeholt werden können. Im Normalfall sollte etwas in der Art da stehen:
POPfetcher v1.44.1 @ Tue Dec 30 12:53:00 CET 2014
Keine Nachrichten vorhanden.
Kommt eine Fehlermeldung, stimmt wohl etwas an den Zugangsdaten nicht. Dann nochmal alles prüfen.
Testen der Beitrag-Erstellung
Als nächstes muss man einfach mal ein paar Mails an die geheime Adresse schicken, diese per POPfetcher abholen lassen und sehen, was Serendipity daraus generiert. Hierbei gilt auch kritisch zu hinterfragen, welche der oben (nicht) genannten Einstellungen man ändern muss, damit das System für die eigenen Zwecke zufriedenstellend funktioniert.
Wie auch schon bei meinem Instagram-Beispiel muss man evtl. darauf achten, wie man die E-Mail aufbaut (siehe auch Prüfung des Absenders!), damit im Beitrag etwas einigermaßen vernünftiges erscheint. Das funktioniert für kurze Texte und Bilder ganz gut, aber speziell längere Texte sollte man besser nur als Entwurf per Mail vorverarbeiten lassen und nachträglich am PC hübsch machen.
automatischer Abruf per externer URL
Hat man keinen Cron, kann man sich auch ein Lesezeichen/Link/Icon mit der URL ablegen und diese einfach im Browser aufrufen, damit die Mails abgeholt werden.
http://sub.example.org/serendipity/index.php?/plugin/SECRET_WORD
Or if Apache URL rewriting is on, you can use this format:
http://sub.example.org/serendipity/plugin/SECRET_WORD
Ich habe es einfach über die erste Variante aufgerufen und klappt bei mir.
In der Datei /plugins/serendipity_events_popfetcher/docs.txt gibt es einige Beispiele, wie man die externe URL per Cron aufrufen kann, das will ich hier gar nicht groß ausbreiten da die möglichen Befehle/Pfade vom Provider abhängen, schaut einfach mal rein.
Meine crontab-Zeile bei uberspace sieht z. B. so aus:
*/15 * * * * wget -O - -q http://bernd.distler.ws/index.php/plugin/mein-geheimes-kennwort >>/home/bd/s9y-popfetcher.log 2>&1
Damit wird per wget alle 15 Minuten die URL abgerufen und die Ausgabe im Home-Verzeichnis in eine Log-Datei gespeichert. So kann man auch mal nachsehen, ob/was schief gelaufen ist.
Probleme
Leider gibt es mit dem Plugin einige Probleme, die sich nicht umgehen lassen und daher den Nutzen sehr einschränken. Ob sich daran etwas ändern lässt, weiß ich nicht, da das Plugin wohl so gut wie nicht genutzt wird und daher entsprechend Leute fehlen, die sich darum kümmern.
Umlaute werden (bei mir) nicht richtig dargestellt, das kann aber vom verwendeten Mail-Hoster abhängen, habe aber im Moment leider keine Lösung anzubietenProblem wurde mit der Plugin-Version 1.45 behoben, vielen Dank an Garvin!- bei der Erstellung der Vorschaubilder scheint die Ausrichtung der Bilder vom iPhone manchmal nicht korrekt erkannt zu werden
Kommentare
Ansicht der Kommentare: Linear | Verschachtelt