Hallo,
ich habe mir ein Skript gebastelt das mir im WF eine Meldung mit dem neusten Email bringt.
Ich überlegte wie ich die letzte Mail bekomme und bin auf den Entschluss gekommen daß ich das Sendedatum mit dem LastMessege vergleich. Allerdings mag meine If-Abfrage die beiden nicht für gleich bewerten.
Hier mal das kommplette Skript:
<?
// Trigger: bei Änderung der Variable LastMessage
if ($IPS_SENDER == "Variable")
{
$var = IPS_GetObject($IPS_VARIABLE); // Last Message ID
$imap_ID = $var['ParentID']; // IMAP ID
$cache = IMAP_GetCachedMails($imap_ID);
//print_r ($cache);
if (count($cache) == 0)
{
//IPS_LogMessage("Email","return");
return;
}
for ( $x = 0; $x < count($cache); $x++ )
{
//IPS_LogMessage("Email",$cache[$x]['Date']." | ".$IPS_VALUE);
$zeit = $cache[$x]['Date'];
if ( round($zeit) == $IPS_VALUE )
{
//$datum = date("d.m.Y H:i:s", $cache[$x]['Date']);
$absender = $cache[$x]['SenderAddress'] ;
//$betreff = $cache[$x]['Subject'];
//$MailArrayUID = IMAP_GetMailEx($imap_ID,$cache[$x]['UID']);
//$inhalt = substr($MailArrayUID['Text'],0,15) ;
IPS_LogMessage("Email","Übereinstimmung! | ".$absender);
WFC_SendNotification(42002 /*[WebFront Configurator]*/,"Neue Nachricht","von: ".$absender,"Information",0);
}
}
}
?>
EDIT: funktionierendes Skript eingefügt