Vielen Dank für dieses Script!
Mir ist aber aufgefallen, dass die ersten 160 Zeichen des Mailinhaltes nicht mitgeschickt werden(sieht man auch auf deinen Screenshots). Ich habe dann probeweise mal das "->parts[0]" aus Zeile 46 gelöscht, dann geht es bei mir.
Ergebnis 1 bis 6 von 6
- 07.07.2009, 16:18 #1
PHP-Scripts: Mail2APNS via Prowl oder "Push-Mail für Schotten - Teil II"
Nachdem schon eine Lösung existiert, mit der mal sich via BeeJiveIM und Jabber über eintreffende Mails benachrichtigen lassen kann, werden wir heute mal das ganze mit dem gerade erschienen Prowl machen.
Benötigt werden: Prowl, PEAR Mail_Mime, ProwlPHP und natürlich ein Server, welcher a) PHP-CLI hat und b) Mails an ein Script weitergeben kann (ergo auch einen Mailserver).
ProwlPHP gibt es hier: http://github.com/Fenric/ProwlPHP/tree/master
Mail_Mime lässt sich über PEAR installieren bzw. hier downloaden: http://pear.php.net/package/Mail_Mime
Einfach folgende zwei Scripts auf den Server in ein leeres Verzeichnis packen (z.B. /srv/mail2apns), ProwlPHP.php ins gleiche Verzeichnis wie die beiden Scripts legen und Mail_Mime ins Unterverzeichnis Mail kopieren (z.B. /srv/mail2apns/Mail).
Danach die Konfigurationsvariablen in mail2apns.php setzen. Beispielhaft habe ich mal ein paar Daten eingetragen.
mail2apns.php (an dieses Script die Mails pipen):
sendmessage_apns_prowl:Code:#!/usr/bin/php <?php // Mail2APNS Gateway for Prowl - Version 0.9 // Copyright (C) 2009 Bananenbieger. No Rights Reserved. // // MAIL2APNS.PHP - Process incoming mail // // // Configuration // $prowl_apikey="Hier den API-Key eintragen - API-Keys lassen sich auf der Prowl-Website erzeugen"; $prowl_appname="Mail"; // App-Name displayed in Prowl $prowl_path="/srv/apns"; // Path, where the prowl.pl resides // // Do not change anything below this. include("Mail/mimeDecode.php"); // read eMail from stdin $fd = fopen("php://stdin", "r"); $email = ""; while (!feof($fd)) { $email .= fread($fd, 1024); } fclose($fd); $params['include_bodies'] = true; $params['decode_bodies'] = true; $params['decode_headers'] = true; $params['input'] = $email; $structure = Mail_mimeDecode::decode($params); /*echo "\nTo: "; echo $structure->headers['to']; echo "\nSubject: "; echo $structure->headers['subject']; echo "\nBody: "; echo $structure->parts[0]->body;*/ $from_raw=$structure->headers['from']; $from=trim(substr($from_raw,0,strpos($from_raw,"<")-1)); $prowl_event="Neue eMail empfangen"; $message="\nVon: ". $from. "\nBetreff: ".$structure->headers['subject']." \n\n". substr($structure->parts[0]->body,0,160)."..."; $to=$structure->headers['to']; include("sendmessage_apns_prowl.php"); ?>
Wenn alles richtig gemacht wurde, bekommt Ihr nun über eintreffende Mails eine APN. ImCode:<? include('ProwlPHP.php'); $prowl = new Prowl($prowl_apikey); $prowl->push(array( 'application'=>$prowl_appname, 'event'=>$prowl_event, 'description'=>$message, 'priority'=>0 )); ?>
Mit einer leichten Änderung kann dieses Script auch für andere Dinge verwendet werden
Und so sieht es aus, wenn es fertig ist:

Geändert von Nathea (11.07.2009 um 12:22 Uhr)
Vorsicht! Dieser Beitrag kann Spuren von Ironie oder Sarkasmus enthalten.
Ohne Konservierungsstoffe (lt. Gesetz). Ohne Farbstoffe. Ohne geschmacksverstärkende Zusatzstoffe.
Deckt 2% des Richtwertes des täglichen Apfeltalkbedarfs basierend auf einem Karmalevel von 200 Pt.
- 20.07.2009, 22:45 #2Erdapfel
- Registriert
- 07.2009
- Beiträge
- 1
- 23.07.2009, 18:43 #3Gloster
- Registriert
- 04.2008
- Beiträge
- 62
Haha.. klasse Idee..
Wenn ich nicht schon MobileMe hätte, würde ich es mal ausprobieren...iPhone Case von www.iSuit.de
- 23.07.2009, 18:51 #4
Du kannst ja alles mögliche damit machen. Ist ja nicht auf Mails limitiert.
Vorsicht! Dieser Beitrag kann Spuren von Ironie oder Sarkasmus enthalten.
Ohne Konservierungsstoffe (lt. Gesetz). Ohne Farbstoffe. Ohne geschmacksverstärkende Zusatzstoffe.
Deckt 2% des Richtwertes des täglichen Apfeltalkbedarfs basierend auf einem Karmalevel von 200 Pt.
- 10.10.2009, 17:56 #5
Ich hab das Script mal als Inspiration genommen und mir einen Push-Service für Twitter gebastelt.
Zusätzlich zu ProwlPHP braucht man noch twitter-php .
Einfach mit beliebigem Zeitintervall in die crontab und das Script pusht beim Aufruf den neuesten neuen Tweet an Prowl.
Könnte man natürlich noch verfeinern (alle neuen Tweets, oder die Anzahl der neuen Tweets, oder ... ), aber mir reichts so.
Code:#!/usr/bin/php <?php // // Twitter2Prowl - V0.1 // // $tuser = 'Twitter Username'; $tpass = 'Twitter Passwort'; $apikey = 'Prowl API-Key'; require_once('ProwlPHP.php'); require_once('twitter.class.php'); $twitter = new Twitter($tuser, $tpass); $withFriends = True; $channel = $twitter->load($withFriends); $status = $channel->status[0]; if (!file_exists('last.tmp')) { $handle = fopen('last.tmp', 'w'); fclose($handle); } $handle = fopen('last.tmp', 'r'); $last = fgets($handle, 140); fclose($handle); if (md5($status->text) != $last) { $prowl = new Prowl($apikey); $prowl->push(array( 'application'=>'Twitter', 'event'=>$status->user->name, 'description'=>$status->text, 'priority'=>0 )); } $handle = fopen('last.tmp', 'w'); fputs($handle, md5($status->text)); fclose($handle); ?>Andy
JID: ah@jabber.elaphos.de
- 10.10.2009, 18:18 #6
Mittlerweile gibt es Notifications im AppStore. Als Basis für webbasierte Pushdienste ist das deutlich geeigneter als Prowl: Kann mehr und sieht besser aus.
Edit: Notifications bietet übrigens direkt eine rudimentäre Twitter-Integration. Praktisch ist auch, dass man diverse Twitter-Apps direkt aus dem Push-Popup starten lassen kann.Geändert von Bananenbieger (11.10.2009 um 01:33 Uhr)
Vorsicht! Dieser Beitrag kann Spuren von Ironie oder Sarkasmus enthalten.
Ohne Konservierungsstoffe (lt. Gesetz). Ohne Farbstoffe. Ohne geschmacksverstärkende Zusatzstoffe.
Deckt 2% des Richtwertes des täglichen Apfeltalkbedarfs basierend auf einem Karmalevel von 200 Pt.
Ähnliche Themen
-
GMX "push"-mail - imap idle auf iphone?! Geht das?
Von tangohotel im Forum MailprogrammeAntworten: 5Letzter Beitrag: 02.08.2010, 20:42 -
PHP-Scripts: Mail2APNS via BeejiveIM und Jabber oder "Push-Mail für Schotten"
Von Bananenbieger im Forum iPhoneAntworten: 14Letzter Beitrag: 07.07.2009, 20:51 -
"normaler" ordner für mail oder nur intelligent möglich?
Von deadly-injured im Forum MailprogrammeAntworten: 2Letzter Beitrag: 02.03.2008, 19:53 -
iPod nano mit "jbl spyro" oder "bose" oder oder oder?
Von paulinschen im Forum iPod classic/nano/shuffleAntworten: 5Letzter Beitrag: 09.01.2007, 22:44


zitieren
