Hi,
Ik probeer de mails die je standaard van SIDN binnekrijgt te parsen om zo de statusen in de database te krijgen, maar ik krijg dit niet voor elkaar. Weet/heeft iemand misschien een werkende versie? Tot nu toe heb ik dit:
Bedankt, Niels.PHP Code:<?php
$fd = fopen("php://stdin", "r");
$mail = "";
while (!feof($fd)) {
$mail .= fread($fd, 1024);
}
fclose($fd);
// functie om gegevens in de database te zetten
function push($array)
{
$host = "****";
$user = "****";
$pass = "****";
$db = "****";
$link = mysql_connect($host, $user, $pass) or die("Kan geen verbinding maken");
mysql_select_db($db) or die("Kan geen database selecteren");
$query = "INSERT INTO maildatabase SET type='" . $array["type"] . "', domainname='" . $array["domainname"] . "', action='" . $array["action"] . "', datereg=now()";
echo $query;
$result = mysql_query($query) or die("Fout bij uitvoeren query");
mysql_close($link);
}
// $mail schoonmaken
$mail = trim($mail);
// vars om de grenzen te vinden
$cps_begin = "-----BEGIN PGP SIGNED MESSAGE-----"; $cps_endof = "-----BEGIN PGP SIGNATURE-----";
$cps_start = strpos($mail, $cps_begin); $cps_end = strpos($mail, $cps_endof);
// als er iets mis is gegaan of wanneer een mailtje anders is stop hij.
if ($cps_start==false)
{
echo "Error, email is niet in de juiste formaat opgesteld!";
}
else
{
// daadwerkelijke converteren
$cps_content = substr($mail, $cps_start + strlen($cps_begin) , $cps_end - $cps_start - strlen($cps_endof) - 2);
$buffer_array = explode("\n", trim($cps_content) );
foreach ($buffer_array as $buffer)
{
$explosion = explode(":", $buffer);
$result[trim(strtolower($explosion[0]))] = trim(strip_tags(strtolower($explosion[1])));
}
if (!isset($result["date"])) $result["date"] = date("Ymd");
// en hopla
array_push($result);
}
$Email="mijnmail";
$content=
"DNS bericht".
"\n".$mail.
" \n\n\n\n2003 (c) blaat .nl";
;
mail("mijnmail", "SIDN BEricht", $content, "From: mijnmail");
return NULL;
?>![]()

Likes:


Quote