- Registriert
- 14.08.05
- Beiträge
- 25.515
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:
Wenn alles richtig gemacht wurde, bekommt Ihr nun über eintreffende Mails eine APN. Im
Mit einer leichten Änderung kann dieses Script auch für andere Dinge verwendet werden
Und so sieht es aus, wenn es fertig ist:
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):
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");
?>
sendmessage_apns_prowl:
Code:
<?
include('ProwlPHP.php');
$prowl = new Prowl($prowl_apikey);
$prowl->push(array(
'application'=>$prowl_appname,
'event'=>$prowl_event,
'description'=>$message,
'priority'=>0
));
?>
Wenn alles richtig gemacht wurde, bekommt Ihr nun über eintreffende Mails eine APN. Im
Mit einer leichten Änderung kann dieses Script auch für andere Dinge verwendet werden
Und so sieht es aus, wenn es fertig ist:
Zuletzt bearbeitet von einem Moderator: