WP-MailBlog (WordPress Plugin)

Rubrik:  Wordpress-Zutaten  ·  Autor:  Zappelfillip19. August 2005, 17:08 Uhr

Read this in english!

Deutsch

Ich suchte eine Möglichkeit von unterwegs per Handy Bilder in meinem Blog zu veröffentlichen – und das ohne die Nutzung von Drittanbietern wie flickr.com. WordPress ermöglicht dank wp-mail.php zwar ein Bloggen per Email. Es hat mich dabei aber gestört, dass Mails als Plain-Text gesendet werden mussten und dass das Senden von Bildern im Anhang gar nicht möglich war.

Ich habe ein Skript geschrieben (basierend auf Simsi von Marc Rohlfing), welches genau das tut, was ich gern wollte – eben Bilder, die in einer Mail als Anhang vorhanden sind, auf dem Server zu speichern und sie dann als Beitrag im Blog zu veröffentlichen. Darunter erscheint der Text der Email. Die Bilder werden als Original und Thumbnail im Ordner pictures im WordPress-Root abgelegt. Ich verwende dieses Skript als Ersatz für wp-mail.php.
Hier kann man es im Einsatz sehen.

Installation

  1. wp-mailblog.zip herunterladen
  2. den Inhalt des Zip-Files in den WordPress-Ordner deines Blogs entpacken (wp-mailblog.php und das Verzeichnis pictures müssen also in dem Verzeichnis sein, in dem sich z.B. auch /wp-content/ und /wp-admin/ befinden)
  3. darauf achten, dass der Server Schreibrechte für das Verzeichnis pictures hat (chmod a+w pictures)
  4. im Admin-Panel unter Optionen » Schreiben die notwendigen Einstellungen für das Email-Postfach eingeben, welches abgerufen werden soll
  5. dort auch die Kategorie auswählen, unter welcher die Beiträge abgelegt werden sollen
  6. gegebenenfalls einen Cronjob anlegen, der regelmäßig die Datei wp-mailblog.php aufruft und damit das Postfach auf neue Emails überprüft

optionale Einstellungsmöglichkeiten

Die folgende Variablen können in der Datei wp-mailblog.php verändert werden.

$PICTURE_FOLDER – Verzeichnis, in dem die Bilder abgelegt werden sollen (default pictures)
$THUMBNAIL_SIZE – Breite der Vorschaubilder in Pixeln (default 150)
$SHARED_EMAIL – sollte TRUE sein, wenn das Postfach nicht nur zum Bloggen dient. Dies stellt sicher, dass alle Emails, die nicht für das Blog gedacht sind auf dem Server bleiben Wenn man ein separates Postfach nur für das Bloggen per Mail nutzt, kann man hier FALSE einstellen (default FALSE)
$ALLOWED_SENDERS – legt fest, wer per Mail bloggen kann. Die Absender-Mailadresse wird auf den String hin überprüft. Das default @ bedeutet, jeder mit einem @ in der Mailadresse kann bloggen. Ändert man es in @zappelfillip.de können nur Mailadressen der Domain zappelfillip.de per Email bloggen. Und ich@zappelfillip.de stellt sicher, dass niemand außer ich@zappelfillip.de Beiträge bloggen kann. Um verschiedene Emailadressen oder Domains festzulegen, müssen diese voneinander durch | (pipe-Symbol) voneinander getrennt werden (default @)
$MAX_IMAGE_SIZE – legt die maximale Filegröße von Bildern fest (in Byte). Größere Bilder werden entsprechend der Option $SHARED_EMAIL behandelt (default 200000)

Verwendung

Alle Emails, die an das angegebene Postfach gesendet werden, werden bei Aufruf von wp-mailblog.php überprüft, ob sie von einem zulässigen Absender geschickt wurden und dann gegebenenfalls veröffentlicht. Es wird die Standardkategorie für das Emailbloggen (einzustellen unter Optionen » Schreiben) verwendet. Standardmäßig wird der Emailbetreff zum Titel des Blogbeitrags. Text, der im Beitrag erscheinen soll, muss von # umschlossen sein. So wird kein Text veröffentlicht, welcher vom Emailprovider oder Mobilfunkbetreiber der Mail hinzugefügt wird.

Beispiel: Wenn man eine SMS über einen SMS/Email-Gateway an eine Emailadresse senden möchte, nutzt man es folgendermaßen:

post@domain.de #Dies ist eine Test-SMS…#

Die Email, welche dann ankommt, sieht in etwa so aus:

This message was sent via the SMS-gateway of O2 Germany
Message follows:

From: 0179-1234567@o2-online.de #Dies ist eine Test-SMS…#

Message ends.

Im Blog hingegen wird nur das angezeigt, was von # umgeben ist – sieht also so aus:

Dies ist eine Test-SMS…

Bilder im Anhang einer Mail werden auf dem Server im Verzeichnis pictures gespeichert und im Beitrag als Thumbnail, verlinkt auf das Originalbild, angezeigt. Schaut in die Kategorie Moblog meines Weblogs und ihr wisst, wie es aussieht.

Gesendete Bilder drehen:

Bilder können per Befehl im mitgesendeten Text gedreht werden. Dies ist nützlich, wenn man z. B. kein Bildbearbeitungprogramm zur Hand hat, das Bild aber im falschen Format vorliegt. Sendet man ein Bild vom Handy, kann das beispielsweise der Fall sein.

Um ein Bild zu drehen bevor es gespeichert wird, sendet man im Text direkt nach der einleitenden Raute (#) die in Klammern eingeschlossene Gradzahl, um die gedreht werden soll. Winkel sind von 0° bis 360° bzw. 0° bis -360° möglich. Positive Winkel bedeuten eine Drehung im Uhrzeigersinn, negative eine Drehung gegen den Uhrzeigersinn.

Beispiele:

#(90)Test#
das Bild wird um 90° im Uhrzeigersinn gedreht

#(-90)Text#
das Bild wird um 270° im Uhrzeigersinn gedreht, entspricht 90° gegen den Uhrzeigersinn

#(270)Text#
das Bild wird um 270° im Uhrzeigersinn gedreht, entspricht 90° gegen den Uhrzeigersinn

#(180)Text#
das Bild wird um 180° gedreht

Die Textausgabe im Artikel lautet in allen Beispielfällen lediglich „Test“ – der Drehbefehl wird also nicht mit angezeigt.

Alternativen Betreff angeben

Es kann zusätzlich ein Betreff angegeben werden, der für den Beitrag verwendet werden soll. Standardmäßig ist dies weiterhin der Betreff der Email. Sendet man aber beispielsweise eine MMS per Handy als Email, so wird der Betreff vom Netzbetreiber festgelegt (z.B. „Multimedia Message o2online.de 01758775681″). Um dies zu umgehen, kann man zusätzlich eingeschlossen durch zwei Kommata (,,) einen alternativen Betreff angeben. Dies muss hinter einer eventuellen Angabe für Bilddrehung erfolgen!

Beispiele:

#(-90),,Beispieltitel,,Das ist der Text#

Dies bewirkt eine Drehung des/der angehängten Bilder um 90° gegen den Uhrzeigersinn und legt den Beitragstitel mit „Beispieltitel“ fest. Der Beitragstext lautet „Das ist der Text“

#,,Beispieltitel,,Das ist der Text#

Gleiches wie beim ersten Beispiel passiert, nur werden die Bilder nicht gedreht.

Wird ein Drehbefehl angegeben, obwohl sich kein Bild oder Bilder im Anhang befinden, wird der Betreff (eingeschlossen durch ,,) nicht berücksichtigt.

Bekannte Fehler:

  • Es scheint immer so zu sein, wenn ein Doppelpunkt im Emailbetreff enthalten ist und anschließend ein Wort mit Umlaut vorkommt, dass dann der Betreff nach dem Doppelpunkt abgeschnitten wird. Also ein Mailbetreff „Fw: Überprüfung“ ergibt folgenden Beitragstitel „Fw:“. Dieses Problem taucht aber leider schon beim Emailholen vom Server auf. Dieser Skriptteil ist nicht von mir und leider reichen meine Kenntnisse auch nicht aus, um dies zu beheben. Scheint mir sogar fast ein Problem der PHP-Mailfunktion zu sein. Das Problem kann natürlich mit der neuen, eben genannten Funktion umgangen werden: einfach den gewünschten Beitragstitel nochmal im Text angeben:

    #,,Fw: Überprüfung,,Das ist der Text des Artikels.#

Changelog

  • Version 0.5
    • Emails, die zwar keinen Text enthalten, dafür aber Bilder im Anhang werden jetzt korrekt behandelt (bisher wurden sie nicht in die WordPress-Datenbank geschrieben)
    • Es kann nun zusätzlich ein Betreff angegeben werden, der für den Beitrag verwendet werden soll. Standardmäßig ist dies weiterhin der Betreff der Email. Sendet man aber beispielsweise eine MMS per Handy als Email, so wird der Betreff vom Netzbetreiber festgelegt (z.B. „Multimedia Message o2online.de 01758775681“). Um dies zu umgehen, kann man nun zusätzlich eingeschlossen durch zwei Kommata (,,) einen Betreff angeben. Dies muss hinter einer eventuellen Angabe für Bilddrehung erfolgen!
  • Version 0.4
    • nur Fehlerbehebungen
  • Version 0.3
    • Bilder können per Befehl im mitgesendeten Text gedreht werden.
  • Version 0.2
    • Probleme mit deutschen Umlauten und Apostroph (‚) in den Mails behoben

English

This script is based on Simsi by Marc Rohlfing. With wp-mailblog it is possible to blog mobile via email (mobile photo weblog). All you need is a cellphone to send a message, either an SMS (for all you Americans out there: a textmessage), an MMS or a regular eMail to your address. Or you can use any internet-cafe you come across. Special feature: you also can send images in the email which are saved on server and published in the article (thumbnail linked to the original image is shown). Below image the text is displayed. This script is an alternative for wp-mail.php.
Here you can see how it works.

You can set up an address specifically for wp-mailblog, but you can also use your regular address without any interference. To make sure nobody who is not supposed to can post to your moblog, you should restrict access to specific addresses or domains.

Because using the MMS/SMS/eMail-gateway of any cellphone-provider adds some chaff to the message, you need to make sure that wp-mail.php knows which part of the eMail to display. This is simply done by enclosing the relevant portion in pound-signs (#).

Installation is usually as easy as modifying a few configuration variables and then copying three files to your webserver. You can begin to add posts via SMS, MMS or eMail immediately.

Installation

  1. Download wp-mailblog.zip.
  2. Unpack and copy to wordpress directory.
  3. Set write permissions to pictures directory (chmod a+w pictures).
  4. In admin panel under Options » Write insert correct settings for your email inbox and select category for mobile blogging.
  5. If you want create a cronjob which periodically calls wp-mailblog.php and checks inbox for new moblog emails.

Optional Settings

The following variables in wp-mailblog.php can be changed.

$PICTURE_FOLDER – directory where images are stored on server (default: pictures)
$THUMBNAIL_SIZE – maximal width or height of the thumbnail in pixels (default: 150)
$SHARED_EMAIL – should be TRUE, if wp-mailblog.php shares your personal eMail-address. This makes sure that all the messages that are not meant for your weblog will remain on the server, to be fetched by your usual eMail-client. If you use a separate address only for wp-mailblog.php, change this to FALSE – and all messages wp-mailblog.php did not recognize (probably spam, anyway) are deleted. (default: FALSE)
$ALLOWED_SENDERS – determines who can post to your blog. The sender’s eMail-address is checked against this string. Examples: The default @ means that everybody with a @ in his address can post. Changing it to @aol.com would ensure that only people sending email from the aol.com-domain can add posts. And me@example.com would guarantee that nobody but me@example.com can add to the blog. To specify several addresses or domains, list them separated by the pipe-symbol (|) (default: @)
$MAX_IMAGE_SIZE – is the upper limit for the filesize of incoming images in bytes. Messages that contain bigger photos are not downloaded, and treated according to $SHARED_EMAIL (default: 200000)

Usage

To post, send a message to the eMail-address you set up. The most important thing:
The part of the message body that is supposed to show up in the weblog has to be enclosed in pound-signs (#)
The #s make sure that an eMail sent via the SMS/MMS-gateway of your cellphone-provider (or most webmail-services, for that matter), which contains lots of other stuff added afterwards, is processed correctly.

Mails that do not contain a pair of # in the body are left untouched – so no need to worry about losing important stuff or spam appearing in your weblog. (^_^)

Example: If you send this SMS through the SMS/eMail-gateway to the eMail-address you use for wp-mailblog.php

post@mysimsi.com #Dear Diary, you don‘t know how easy the last few minutes have been…#

then the eMail once it reaches your server reads something like

This message was sent via the SMS-gateway of your greedy provider
Message follows:

From: 0179-1234567@ubergreedy.com #Dear Diary, you don‘t know how easy the last few minutes have been…#

Message ends.

and it will show up on the weblog-page as the post

Dear Diary, you don‘t know how easy the last few minutes have been…

with a correct timestamp and the mail will be deleted. Depending on $SHARED_EMAIL, messages that made no sense to wp-mailblog.php will either remain on the server (to be fetched by your usual eMail-client) or will be purged.

If you attach pictures to your message, they are saved on the server, a thumbnail will be created and will be shown together with the post. And any HTML you use is preserved as well. Visit my category Moblog and you see how it looks like.

Rotating Pictures:

Images can be rotated before saving by a command in the beginning of the text. For example use that if you want to send a picture via cellphone in panel format.

Insert rotating angle after the incipient pound-sign # enclosed in parenthesis (). Angles between 0° and 360° or 0° to -360° are possible. An angle greater than 0 means clockwise turn, angles less than 0 are counterclockwise.

Examples:

#(90)Test#
the picture will be rotated 90° clockwise

#(-90)Text#
the picture will be rotated 90° counterclockwise

#(270)Text#
the picture will be rotated 270° clockwise, equivalent to 90° counterclockwise

#(180)Text#
180° rotation (upside down)

Text output in that cases is only „Test“ – rotating command will not be shown in the article.

Alternative Title For Articles

An additional article subject can be specified in the text. For example this is necessary if you send via multimedia message (MMS) to the eMail address. The E-Mail subject set by the cellphone-provider could be like „Multimedia Message o2online.de 01758775681″. Now you can change that. Only insert the wanted article title at the beginning of the text after the incipient pound-sign # or the the rotating command (if specified) enclosed by two commas (,,).

Examples:

#(-90),,This is the title,,This is the text#

Picture rotation of 90° counterclockwise, article title „This is the title“, article text „This is the text“.

#,,This is the title,,This is the text#

No rotation, article title „This is the title“, article text „This is the text“.

Changelog

  • version 0.5
    • alternative article title inside text is now possible
    • bug fixing
  • version 0.4
    • bug fixing
  • version 0.3
    • image rotation is now possible
  • version 0.2
    • problems with german umlauts and apostrophe (‚) in emails fixed

Diesen Artikel bookmarken:

Diese Icons verlinken auf Bookmark Dienste bei denen Nutzer neue Inhalte finden und mit anderen teilen können.
  • Digg
  • del.icio.us
  • Technorati
  • Furl
  • StumbleUpon
  • Reddit
  • Webnews
  • MisterWong
  • Y!GG
  • Spurl
  • Bloglines
  • Google Bookmarks

154 Kommentare    ·    hier schreiben
  1. Kommentar:
    Fatal error: Call to undefined function comment_subscription_status() in /www/htdocs/w00c005e/zappelfillip_de/wordpress/wp-content/themes/zappelfillip/comments.php on line 53