Hallo,
ich habe jetzt die IP-SYMCON seit ca. 4 Tagen und muss wirklich sagen, dass es echt ein Spitze Produkt ist.
Nun wollte ich jedoch ein Script erstellen, welches mir eine Mail schickt, wenn ein Rauchmelder bei mir Alarm meldet. Dazu habe ich auch ein Mail Script hier im Forum gefunden. Dieses Script habe ich mir dann ein wenig angepasst. Um zu testen, ob es funktioniert habe ich einfach den Wert auf FALSE bei der Boolean Variablen gesetzt, damit er mir eine Mail schickt. Leider kommt jedoch keine Mail bei mir an und im Script Fenster zeigt er mir folgende Fehlermeldung an:
<br />
<b>Warning</b>: main(scripts/class.smtp.php) [<a href='function.main'>function.main</a>]: failed to open stream: No such file or directory in <b>J:\Program Files\IP-SYMCON\scripts\.currentscript</b> on line <b>46</b><br />
<br />
<b>Warning</b>: main() [<a href='function.include'>function.include</a>]: Failed opening 'scripts/class.smtp.php' for inclusion (include_path='.;C:\php5\pear') in <b>J:\Program Files\IP-SYMCON\scripts\.currentscript</b> on line <b>46</b><br />
<br />
<b>Fatal error</b>: Class 'SMTP' not found in <b>J:\Program Files\IP-SYMCON\scripts\.currentscript</b> on line <b>49</b><br />
Das Script sieht momentan so aus (Ich weiß, dass es nicht toll ist, soll aber auch nur kurz zum Testen sein, ob es überhaupt mit dem Mailen funktioniert):
<?
/*
*******************************
IP-SYMCON Event Scripting
*******************************
*/
//(C) bY CSS - M&M April 2005
//File: EMail.ips.php
//Trigger: TEMP_Vorlauf
//*** Achtung ***
//Wenn das Script per Execute aus den Event Scripts gestartet wird
//kann ein Script Timeout vorkommen
//Das beeinflusst aber nicht die Funktion im Timer Modus,
//sondern nur die fehlende Ausgabe im "Output" Fenster
//------------------------------------------------------------------------------
//Mail konfiguration
$mailserver = "pop.t-online.de";
//Benutzername/Passwort
$username = "Benutzername";
$password = "Passwort";
//Absender
$sendermail = "xxx@xxx.de";
$sendername = "IP-SYMCON";
//Empänger
$receivemail = "xxx@xxx.de";
$receivename = "Martin Mustermannn";
//Betreff
$subject = "IPS-ALARM";
//Meldung
$message ="ALARM von IP-Symcon,
";
$message.="Die Zentralheizung ist ausgefallen.
";
//Status - Heizung an
$z_heizung = GetValueBoolean("Rauchmelder_1.Status");
//Ist die Heizung an, aber nicht warm > Alarm
//ACHTUNG: Der Heizung noch etwas Zeit (hier 15 Minuten) zum Aufwärmen geben !!
if (($z_heizung == False)) {
//--- Script für Mailversand ---
//* Keine weitere Konfiguration nötig
//Klasse für Mailversand importieren
//(c) by http://phpmailer.sourceforge.net/
include("scripts/class.smtp.php");
//Object erstellen
$mail = new SMTP();
//Zum SMTP Server verbinden
if(!$mail->Connect($mailserver)) {
echo "Error connecting to MAIL SERVER";
exit;
}
//Handshake
if(!$mail->Hello()) {
echo "Error in HELO";
exit;
}
//Anmelden
if(!$mail->Authenticate($username, $password)) {
echo "Error in AUTH";
exit;
}
//Mail generieren
$CRLF = "
";
$header ="From: \"$sendername\" <$sendermail>".$CRLF;
$header.="To: \"$receivename\" <$receivemail>".$CRLF;
$header.="Subject: $subject".$CRLF;
$header.=$CRLF;
//Absender angeben
if(!$mail->Mail($sendermail)) {
echo "Sender not Accepted";
} else { //empänger
if(!$mail->Recipient($receivemail)) {
echo "Receptor not accepted!";
} else {
if(!$mail->Data($header.$message)) {
echo "Error Sending MAIL!";
}
}
}
} // Heiung-Überwachung
?>
Daher wäre meine Frage an euch, was ich falsch mache…
Vielen Dank schon im Voraus und viele Grüße
Akio
PS. Das classsmtp.zip habe ich einfach entpackt und in den Ordner J:\Program Files\IP-Symcon\scripts geladen.