[HowTo] SensorAndSwitch: Pseudoscript: PseudoGeräte selbst entwickeln.

P#
Sehr geehrter Besucher _________________________________________________________ Sehr geehrter Besucher, leider ist ein Fehler aufgetreten: Die gew�nschte Seite wurde nicht gefunden. Haben Sie sich vielleicht vertippt oder eine alte URL aufgerufen? Wenn nicht, informieren Sie bitte den Webmaster dieser Homepage per Email. Um zu der vorherigen Seite zur�ck zu kehren, verwenden Sie bitte einfach die "Zur�ck" - Taste Ihres Browsers. _________________________________________________________
*HTML#
 
@alle: Wer seine alten Pseudoscripte nicht aktualisieren möchte, kann auch unter
include/includedefine.php durch das
PHP:
<?php

	define ("PIC",$Conf["PIC"]);
	define ("DESIGN",$Conf["DESIGN"]);
	define ("INCLUDE",$Conf["INCLUDE"]);

	define ("PRG",$Conf["PRG"]);
	define ("FB",$Conf["FB"]);
	define ("USER",$Conf["USER"]);
	define ("PASSWORD",$Conf["PASSWORD"]);
	define ("AKTUALISIERUNG",$Conf["AKTUALISIERUNG"]);
	define ("BRAIN",$Conf["BRAIN"]);
	define ("WEBINFO",$Conf["WEBINFO"]);
	define ("UPFENSTER",$Conf["UPFENSTER"]);
	define ("ANZEIGETYP",$Conf["ANZEIGETYP"]);
	define ("GERAETEDISPLAY",$Conf["GERAETEDISPLAY"]);
	define ("UPDATE",$Conf["UPDATE"]);
	define ("ZEITZONE",$Conf["ZEITZONE"]);
	define ("BREITENGRAD",str_replace(",",".",$Conf["BREITENGRAD"]));
	define ("LAENGENGRAD",str_replace(",",".",$Conf["LAENGENGRAD"]));
	define ("ZENITA",str_replace(",",".",$Conf["ZENITA"]));
	define ("ZENITU",str_replace(",",".",$Conf["ZENITU"]));
	define ("LOG",$Conf["LOG"]);
	define ("MAILPHP",$Conf["MAILPHP"]);
	define ("INFO",$Conf["INFO"]);
	define ("PRO",$Conf["PRO"]);

	# alte Konstanten
	define ("LOGIN",FB."/login_sid.lua");
	define ("WEB",FB."/webservices/homeautoswitch.lua");
	define ("BOX",FB."/net/home_auto_overview.lua");
	define ("SESSIONID",GetSessionID(LOGIN,USER,PASSWORD));
	define ("COMMAND",WEB."?sid=".SESSIONID."&switchcmd=");

	$pseudoURL=substr($Conf["EURL"],0,strrpos($Conf["EURL"],"/")+1);

?>
ersetzen.

Dort sind dann die alten Konstanten für nur eine FB reaktiviert.
 
Hallo,
@JL3: ==>> lääääuuuffftt :mrgreen:

@dTrieb: Du hast bei Dir(!) irgendwo einen Fehler, ich wette in der URL oder einer php. Lege sie einmal neu an, mit notepad++ und achte auf die Codierung.
 
Zuletzt bearbeitet von einem Moderator:
P#
Sehr geehrter Besucher _________________________________________________________ Sehr geehrter Besucher, leider ist ein Fehler aufgetreten: Die gew�nschte Seite wurde nicht gefunden. Haben Sie sich vielleicht vertippt oder eine alte URL aufgerufen? Wenn nicht, informieren Sie bitte den Webmaster dieser Homepage per Email. Um zu der vorherigen Seite zur�ck zu kehren, verwenden Sie bitte einfach die "Zur�ck" - Taste Ihres Browsers. _________________________________________________________
*HTML#
Hast du das mal so abgeändert wie ich es schonmal geraten habe, dass mit echo $url; die Adresse, die er bildet, aufgerufen wird?
 
Hast du das mal so abgeändert wie ich es schonmal geraten habe, dass mit echo $url; die Adresse, die er bildet, aufgerufen wird?

Ja und darauf habe ich dir geantwortet das ich eine weiße Seite bekomme.
 
Hast du die denn mit ...php?info=status aufgerufen?
 
oder probier diese:
PHP:
<?php

	/*
		+---------------------------------------------------------------------+
		|                                                                     |
		|   SensorAndSwitch Automation Pro                                    |
		|   PseudoGeräte-Script                                               |
		|   ===============================================================   |
		|   Unwetter RSS-Feed                                                 |
		|   Eine Liste für mögliche $bundesland-Inhalte:                      |
		|     baden-wuerttemberg                                              |
		|     bayern                                                          |
		|     berlin-brandenburg                                              |
		|     hessen                                                          |
		|     mecklenburg-vorpommern                                          |
		|     niedersachsen-bremen                                            |
		|     nordrhein-westfalen                                             |
		|     rheinland-pfalz-saarland                                        |
		|     sachsen                                                         |
		|     sachsen-anhalt                                                  |
		|     schleswig-holstein-hamburg                                      |
		|     thueringen                                                      |
		|                                                                     |
		+---------------------------------------------------------------------+
	*/

	error_reporting(0);
	include "conf/sensorandswitchbundesland.phpconf";
	include "include/includedateien.php";
	include "include/includefunctions.php";
	include "include/includeconf.php";
	include "include/includeconfig.php";
	include "include/includedefine.php";
#	if ($_GET["info"]=="status") {
		$url="http://www.wetterleitstelle.de/nordrhein-westfalen.xml";
		$Status=web($url,$post);
		$Status=trim(strip_tags($Status));
		if ($Status) {
			echo "P#"."<div style='font-size:10px;text-align:left;width:310px;height:50px;position:relative;top:-10px;overflow:auto;'>".$Status."</div>"."*HTML#";
		}
		else {
			echo "P##E##";
		}
#	}
	exit;
	
?>
 
oder probier diese:
PHP:
<?php

	/*
		+---------------------------------------------------------------------+
		|                                                                     |
		|   SensorAndSwitch Automation Pro                                    |
		|   PseudoGeräte-Script                                               |
		|   ===============================================================   |
		|   Unwetter RSS-Feed                                                 |
		|   Eine Liste für mögliche $bundesland-Inhalte:                      |
		|     baden-wuerttemberg                                              |
		|     bayern                                                          |
		|     berlin-brandenburg                                              |
		|     hessen                                                          |
		|     mecklenburg-vorpommern                                          |
		|     niedersachsen-bremen                                            |
		|     nordrhein-westfalen                                             |
		|     rheinland-pfalz-saarland                                        |
		|     sachsen                                                         |
		|     sachsen-anhalt                                                  |
		|     schleswig-holstein-hamburg                                      |
		|     thueringen                                                      |
		|                                                                     |
		+---------------------------------------------------------------------+
	*/

	error_reporting(0);
	include "conf/sensorandswitchbundesland.phpconf";
	include "include/includedateien.php";
	include "include/includefunctions.php";
	include "include/includeconf.php";
	include "include/includeconfig.php";
	include "include/includedefine.php";
#	if ($_GET["info"]=="status") {
		$url="http://www.wetterleitstelle.de/nordrhein-westfalen.xml";
		$Status=web($url,$post);
		$Status=trim(strip_tags($Status));
		if ($Status) {
			echo "P#"."<div style='font-size:10px;text-align:left;width:310px;height:50px;position:relative;top:-10px;overflow:auto;'>".$Status."</div>"."*HTML#";
		}
		else {
			echo "P##E##";
		}
#	}
	exit;
	
?>

So klappt es jetzt dann lasse ich es jetzt einfach so ...
 
Eine Idee kam mir noch: Liegt deine sensorandswitchbundesland.phpconf auch wirklich im Unterverzeichnis conf/ ?
Aber wenn es so läuft, passt es ja auch. :)
 
So weit geht inzwischen die PseudoScripterstellung:

Beispiele sind hier:

Die "kleine Wetterstation" pseudodisplaywetter.php mit Wetterdaten für seine Region über die Koordinaten-Daten übers Internet.
Die Steuerung und Anzeige von zwei RaspberryPI's einmal direkt am Stromnetz und einmal an einer schaltbaren DECT200.

Die entsprechenden Scripte liegen der nächsten Version von sas im Verzeichnis pseudobeispiele/... bei.

pseudos.jpg
 
PseudoScript für Mail-Kontos zum Anzeigen des Eingangs neuer Mails:

email2.png

pseudoemail.php
PHP:
<?php 

	/*
		+---------------------------------------------------------------------+
		|                                                                     |
		|   SensorAndSwitch                                                   |
		|   Pseudo-Script                                                     |
		|   ===============================================================   |
		|   E-Mail-Abfrage                                                    |
		|                                                                     |
		+---------------------------------------------------------------------+
	*/
 
	error_reporting(0);
	/* in der sensorandswitchemail.phpconf:
		<?php
			$mbox1titel='Kontobezeichnungstext'; # z. B. Haupt-Konto
			$mbox1host='{pop.example.com:995/pop3/ssl}';
			$mbox1user='[email protected]';
			$mbox1pwd='meinkennwort';
			$mbox1code=false;
		?>
	*/
	include "conf/sensorandswitchemail.phpconf";

	include "include/includedateien.php";
	include "include/includefunctions.php";
	include "include/includeconf.php";
	include "include/includeconfig.php";
	include "include/includedefine.php";
	
	$mboxtitel=$mbox1titel;
	$mboxhost=$mbox1host;
	$mboxuser=$mbox1user;
	$mboxcode=$mbox1code;
	$mboxpwd=$mbox1pwd;
	if ($mboxcode) {$mboxpwd=decodiere($mboxpwd,111237);}
	$mbox=imap_open($mboxhost,$mboxuser,$mboxpwd);
	$daten=imap_check($mbox);
	$anzahl=$daten->Nmsgs;
	$ungelesen=$daten->Recent;
	$kopf=imap_header($mbox,1);
	$cbetreff=imap_mime_header_decode($kopf->subject);
	if ($ungelesen>0) {
		$emailpic="email1.png";
		$betreff=substr($kopf->date,0,-6).'<br /><span style="font-size:12px;font-weight:bold;">'.$kopf->fromaddress.'</span><br />'.$cbetreff[0]->text;
	} 
	else {
		$emailpic="email0.png";
		$betreff="";
	}
	imap_close($mbox);

	$Status=$daten;
	if ($Status) {
		echo 'P#<div style="font-size:12px;text-align:right;width:310px;position:absolute;top:-20px;"><img src="'.picdesign($emailpic).'" border="0"></div><div style="font-size:22px;text-align:right;width:250px;position:absolute;top:-10px;"><span style="font-size:32px;font-weight:bold;">'.$ungelesen.'</span> <span style="font-size:12px;">(von '.$anzahl.')</span></div><div style="font-size:14px;font-weight:bold;text-align:right;width:250px;position:absolute;top:20px;">'.$mboxtitel.'</div><div style="font-size:10px;text-align:left;width:160px;position:absolute;top:-12px;height:46px">'.$betreff.'</div>*HTML#';
	}
	else {
		echo "P##E##";
	}

?>

Nachtrag: Das installieren von php5-imap nicht vergessen, dass es auch läuft. ;)
Nachtrag2: Script wurde upgedatet.
 
Zuletzt bearbeitet:
hab mir jetzt mal 3 Intertechno Funkrolladenschalter gekauft.

meine Scripte dazu funktionieren eigenlich auch.
Nur, ich hab ein Script gemacht, wo alle 3 Rolladen auf einmal fahren sollen.
Schnipsel:
PHP:
$befehl='sudo pilight-send -p intertechno_old -i 0 -u 2 -f';
	$url=$helperurlpi."?befehl=".encodiere($befehl,33455);
	$Status=web($url,$post); 
	$befehl='sudo pilight-send -p intertechno_old -i 1 -u 2 -f';
	$url=$helperurlpi."?befehl=".encodiere($befehl,33455);
	$Status=web($url,$post);
	$befehl='sudo pilight-send -p intertechno_old -i 2 -u 2 -f';
	$url=$helperurlpi."?befehl=".encodiere($befehl,33455);
	$Status=web($url,$post);
	$Status="S#1#";
meißtens funktioniert das ja auch, kommt aber schon mal vor, das einer vergessen wird.
vermute der Sendebefehl ist zu kurz.

Fragen:
1. gibt es eine Möglichkeit, damit der Sendebefehl verlängert wird?
2 mal senden geht nicht, da der Schalter beim 2. Befehl innerhalb 2 Minuten
den Rolladen stoppt.
2. muss ich mein Script eventuell ganz anders aufbauen?
3. wenn ich für jeden Rolladen ein Script mache, die dann zur gleichen Zeit mit
autoproui starten, würde das besser funktionieren?

das ist halt der Nachteil bei den Intertechno Funkschalter, das man kein Status abfragen kann.
Hab extra den Raspi in die Nähe der Rolladen gestellt, obwohl das an der Reichweite nicht liegen kann, da andere Schalter auch über 2 Etagen funktionieren.
Der Raspi hat einen besseren Sender als die Fernbedienungen.
 
mach mal zwischen die Befehle einen sleep(1) zum Probieren...

PHP:
    $befehl='sudo pilight-send -p intertechno_old -i 0 -u 2 -f';
    $url=$helperurlpi."?befehl=".encodiere($befehl,33455);
    $Status=web($url,$post);
    sleep(1);
    $befehl='sudo pilight-send -p intertechno_old -i 1 -u 2 -f';
    $url=$helperurlpi."?befehl=".encodiere($befehl,33455);
    $Status=web($url,$post);
    sleep(1);
    $befehl='sudo pilight-send -p intertechno_old -i 2 -u 2 -f';
    $url=$helperurlpi."?befehl=".encodiere($befehl,33455);
    $Status=web($url,$post);
    $Status="S#1#";

Das erzwingt jeweils eine Sekunde Pause zwischen den Befehlen. Vielleicht hilft das. :)
 
Hallo,
Nachtrag: Das installieren von php5-imap nicht vergessen, dass es auch läuft. ;)
Wie lautet der Befehl dafür?

Franky

[EDIT]
Scheint "sudo apt-get install php5-imap" zu sein :)
 
Zuletzt bearbeitet von einem Moderator:
Debian Installationen mit apt-get install paketname
Deinstallation mit apt-get remove paketname oder besser apt-get autoremove paketname, das dann gleich ungenutzte Pakete mit entfernt.

Ab und an immer mal ein apt-get update und apt-get upgrade ausführen, um aktuell mit den Paketen zu sein.
 
Hallo,
Entgegen meiner gestrigen Auffassung bleibe ich trotz der sehr langsamen Performance (keine Kritik) dabei.

Ich habe da Mailscript ein wenig an meine Bedürfnisse angepasst: Anhang anzeigen 80307

Jetzt wäre es schön, wenn man links daneben noch einen weiteren Account setzen könnte.

Die Datei "conf/sensorandswitchemail.phpconf" muss ja für jedes Postfach angelegt werden. Daher habe ich sie in "conf/sensorandswitchemail1.phpconf"/"conf/sensorandswitchemail2.phpconf" genannt.
Die "conf/sensorandswitchemail.phpconf" habe ich um ein weiteres Postfach erweitert, das klappt.
PHP:
 <?php 

    /*
        +---------------------------------------------------------------------+
        |                                                                     |
        |   SensorAndSwitch                                                   |
        |   Pseudo-Script                                                     |
        |   ===============================================================   |
        |   E-Mail-Abfrage                                                    |
        |                                                                     |
        +---------------------------------------------------------------------+
    */
 
    error_reporting(0);
    include "conf/sensorandswitchemail.phpconf";

    include "include/includedateien.php";
    include "include/includefunctions.php";
    include "include/includeconf.php";
    include "include/includeconfig.php";
    include "include/includedefine.php";
    
    $mboxtitel=$mbox1titel;
    $mboxhost=$mbox1host;
    $mboxuser=$mbox1user;
    $mboxcode=$mbox1code;
    $mboxpwd=$mbox1pwd;
    if ($mboxcode) {$mboxpwd=decodiere($mboxpwd,111237);}
    $mbox=imap_open($mboxhost,$mboxuser,$mboxpwd);
    $daten=imap_check($mbox);
    $anzahl=$daten->Nmsgs;
    $ungelesen=$daten->Recent;
    $kopf=imap_header($mbox,1);
    $cbetreff=imap_mime_header_decode($kopf->subject);
    if ($ungelesen>0) {
        $emailpic="email1.png";
    } 
    else {
        $emailpic="email0.png";
        $betreff="";
    }
    imap_close($mbox);

    $Status=$daten;
    if ($Status) {
        echo 'P#<div style="font-size:12px;text-align:right;width:310px;position:absolute;top:-20px;"><img src="'.picdesign($emailpic).'" border="0"></div><div style="font-size:22px;text-align:right;width:250px;position:absolute;top:-10px;"><span style="font-size:12px;">(Mails: '.$anzahl.')</span></div><div style="font-size:14px;font-weight:bold;text-align:right;width:250px;position:absolute;top:20px;">'.$mboxtitel.'</div><div style="font-size:10px;text-align:left;width:160px;position:absolute;top:-12px;height:46px">'.$betreff.'</div>*HTML#';
    }
    else {
        echo "P##E##";
    }

?>
Wie bekomme ich nun die beiden miteinander gekoppelt?
PHP:
    $mboxtitel=$mbox1titel;
    $mboxhost=$mbox1host;
    $mboxuser=$mbox1user;
    $mboxcode=$mbox1code;
    $mboxpwd=$mbox1pwd;
müsste ja auf
PHP:
    $mboxtitel=$mbox2titel;
    $mboxhost=$mbox2host;
    $mboxuser=$mbox2user;
    $mboxcode=$mbox2code;
    $mboxpwd=$mbox2pwd;
erweitert werden. Da scheitere ich aber komplett.
 
Zuletzt bearbeitet von einem Moderator:
Mit der neuen Version wird in den freien Platz das letzte eingetrudelte E-mail mit Datum, Versender und Betreffzeile angezeigt. Daher besser zwei getrennte Slots lassen. ;)

Um die Kennwörter in die confphp verschlüsselt eintragen zu können, wird es eine sastoolbox geben, wo man seine Kennwörter entsprechend vorverschlüsseln kann und dann nur die Zahlenkette in die confphp kopieren kann.

Etwas Geduld, ich bastle noch :) Schau mal in Post #53

Die langsame Performance müsste sich trotzdem nach spätestens 1 1/2 Minuten geben, bis der Cache steht. Das verblüfft mich immer noch etwas, dass es bei dir da einfach nicht will. :gruebel:

sensorandswitchtoolbox.php
PHP:
<?php

	/*
		+---------------------------------------------------------------------+
		|                                                                     |
		|   SensorAndSwitch Toolbox                                           |
		|   ===============================================================   |
		|   Diverses                                                          |
		|                                                                     |
		+---------------------------------------------------------------------+
	*/
	
	define ("PRG","SensorAndSwitch Toolbox");
	include "include/includevercpr.php";
	
	error_reporting(0);
	
	include "include/includefunctions.php";
	include "include/includegeraete.php";
	include "include/includedateien.php";
	include "include/includeconf.php";
	include "include/includeconfig.php";
	$Conf["PRG"]=PRG;
	$Conf["VER"]=intval(str_replace(".","",substr(VER,2)));
	include "include/includedefine.php";

	date_default_timezone_set(ZEITZONE);

	$ok=false;
	if (isset($_POST['OK'])) {
		$ok=true;
		if (isset($_POST["key"])) {
			$passwd=$_POST["passwd"];
			$key=$_POST["key"];
			$crypted=encodiere($passwd,$key);
		}
		else {
			$passwd="";
			$key="";
			$crypted="";
		}
	}
	
	HTMLKopf();
	
	HTMLBodyTop();
	
	printf ('<form name="sensorandswitchtoolbox" method="POST" action='.$PHP_SELF.'>');
	printf ('<table><tr><td><img style="height:50px;" src="'.PIC.'logo.png"></td>');
	printf ('<td id="links"><h1>'.PRG.'<br />'.VER.' '.CPR.'</h1></td>');
	printf ('<td><input id="buttonok" type="submit" value="OK" name="OK"> <input id="buttonabbrechen" type="submit" value="Abbrechen" name="Abbrechen"></td>');
	if ($ok) {
		printf ('<td><h1>'.$crypted.'</h1></td>');
	}
	printf ('</tr></table>');
	printf ('<table><tr>');
	printf ('<td><div id="passwd">Kennwort: <input type="text" name="passwd" size="20" value="'.$passwd.'"></td>');
	printf ('<td><div id="passwd">Schlüssel: <input type="text" name="key" size="20" value="'.$key.'"></td>');
	printf ('</tr></table>');
	printf ('</form>');

	HTMLBodyBottom();

	exit;

	
function HTMLKopf() {
/*****************/
	global $Conf;
	
	printf ('<!DOCTYPE html>
<html>
   <head>
		<meta charset="UTF-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge" />
		<title>'.PRG.'</title>
		<link rel="shortcut icon" href="images/sensorandswitch.ico">
		<style type="text/css">
			/* CSS des Inhalts */
			body { 
				margin:5px; 
				padding:5px; 
				font-family:"Arial"; 
				color:#00FFFF;
				background-color:#112222;
				font-size:14px; 
			}
			h1 {
				font-size:12px;
				margin:0px;
				text-shadow:0px 0px 20px #00BBBB,0px 0px 20px #00BBBB,0px 0px 20px #00BBBB;
			}
			table, td {
				border:1px solid #007777;
				margin-bottom:10px;
				padding:3px;
				spacing:3px;
				text-align:right;
				border-collapse:collapse;
			}
			img {
				height:20px;
			}
			#tabkopf {
				text-align:left;
				vertical-align:top;
				background-color:#334444;
				font-size:10px; 
			}
			#tabkopfr {
				text-align:right;
				vertical-align:top;
				background-color:#334444;
				font-size:10px; 
			}
			#tabkopfc {
				text-align:center;
				vertical-align:top;
				background-color:#334444;
				font-size:10px; 
			}
			#zeit, #zeit0, #zeit1, #zeit2, #zeit3, #zeitl {
				text-align:center;
			}
			#zeitl {
				text-align:left;
			}
			#zeit, #zeit2 {
				background-color:#001111;
			}
			#zeit0 {
				background-color:#333300;
			}
			#zeit1 {
				background-color:#006600;
			}
			#zeit3 {
				color:#999999;
				background-color:#002200;
			}
			#grad {
				text-align:right;
			}
			#leer {
				text-align:center;
			}
			#alink {
				text-align:left;
			}
			#sa {
				text-align:left;
				color:#FFFF00;
				background-color:#333311;
			}
			#sac {
				text-align:center;
				color:#FFFF00;
				background-color:#333311;
			}
			#su {
				text-align:left;
				color:#9999FF;
				background-color:#222244;
			}
			#suc {
				text-align:center;
				color:#9999FF;
				background-color:#222244;
			}
			#Sommerzeit {
				text-align:left;
				color:#FFFFBB;
				background-color:#333311;
			}
			#Winterzeit {
				text-align:left;
				color:#DDDDFF;
				background-color:#222244;
			}
			#te {
				text-align:left;
				color:#FF7700;
				background-color:#221100;
			}
			#tec {
				text-align:center;
				color:#FF7700;
				background-color:#221100;
			}
			#ps {
				text-align:left;
				color:#00BBBB;
				background-color:#003355;
			}
			#psc {
				text-align:center;
				color:#00BBBB;
				background-color:#003355;
			}
			#wa {
				text-align:left;
				color:#FFAA00;
				background-color:#222200;
			}
			#wac {
				text-align:center;
				color:#FFAA00;
				background-color:#222200;
			}
			#ze {
				text-align:left;
				color:#BBFFFF;
				background-color:#001111;
			}
			#zec {
				text-align:center;
				color:#BBFFFF;
				background-color:#001111;
			}
			#sc {
				text-align:left;
				color:#99DDEE;
				background-color:#001133;
			}
			#scc {
				text-align:center;
				color:#99DDEE;
				background-color:#001133;
			}
			#ja {
				text-align:center;
				color:#00FF00;
				background-color:#004400;
			}
			#nein {
				text-align:center;
				color:#FF0000;
				background-color:#440000;
			}
			#blocka {
				background-color:#111133;
			}
			#blockar {
				background-color:#111133;
				text-align:right;
			}
			#blockac {
				background-color:#111133;
				text-align:center;
			}
			#blockb {
				background-color:#222222;
			}
			#blockbr {
				background-color:#222222;
				text-align:right;
			}
			#blockbc {
				background-color:#222222;
				text-align:center;
			}
			#blockc {
				background-color:#223333;
			}
			#blockcr {
				background-color:#223333;
				text-align:right;
			}
			#blockcc {
				background-color:#223333;
				text-align:center;
			}
			input {
				font-family:"Courier New"; 
				padding-left:5px;
				padding-right:5px;
			}
			input,select {
				margin-top:3px;
				margin-bottom:3px;
				border-radius:10px;
				font-size:16px;
				color:#112222;
				background-color:#008888;
				text-decoration:none;
			}
			#input,a {
				font-family:"Arial"; 
				border:1px; 
				border-style:solid;
				border-color:#00AAAA;
				background-color:#007755;
				padding-top:0px;
				padding-bottom:0px;
				padding-left:10px;
				padding-right:10px;
				background-size:cover;
				text-decoration:none;
				border-radius:10px;
				color:#00FFFF;
			}
			#input:hover,a:hover {
				border-radius:10px;
				color:#112222;
				background-color:#00AAAA;
				text-decoration:none;
				box-shadow:0px 0px 20px #007777,0px 0px 20px #007777,0px 0px 20px #007777;
			}
			#buttonok {
				font-family:"Arial"; 
				border-style:solid;
				border-color:#006600;
				color:#00FF00;
				font-size:14px;
				text-align:center; 
				background-color:#004400;
				text-decoration:none;
				text-shadow:0px 0px 20px #00BB00,0px 0px 20px #00BB00,0px 0px 20px #00BB00;
			}
			#buttonok:hover {
				border-color:#00BB00;
				color:#CCFFCC;
			}
			#buttonok:active {
				border-color:#00FF00;
				color:#CCFFCC;
			}
			#buttonabbrechen {
				font-family:"Arial"; 
				border-style:solid;
				border-color:#660000;
				color:#FF0000; 
				font-size:14px;
				text-align:center; 
				background-color:#440000;
				text-decoration:none;
				text-shadow:0px 0px 20px #BB0000,0px 0px 20px #BB0000,0px 0px 20px #BB0000;
			}
			#buttonabbrechen:hover {
				border-color:#BB0000;
				color:#FFCCCC;
			}
			#buttonabbrechen:active {
				border-color:#FF0000;
				color:#FFCCCC;
			}
			#links {
				text-align:left;
			}
		</style>
	</head>');
}


function HTMLBodyTop () {
/******************/
	global $Conf;
	
	printf ('<body>');
}


function HTMLBodyBottom() {
/***********************/
	global $Conf;
	
	printf (
   '</body>
</html>');
}

?>
 
Zuletzt bearbeitet:
Hallo,
Die einzelnen Scripte stehen bei mir in den entsprechenden Reitern. Es ist aber eine nette Übersicht, wenn man sieht, ob sich in einem der Postfächer (2 pro Script) etwas getan hat.
Die Betreffzeile und/oder der Absender ist IMHO zu lang, zu breit für die Anzeige. Da über schneidet sich schnell was.

Mir langt da eigentlich:

  • Name des Postfachs
  • Anzahl Mails
  • Gesamtgröße (optional)
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.