Hallo,
erstmal möchte ich mich vorstellen, ich bin michael, 24 jahre, habe ein paar kleine php kenntnisse, die mir aber hierbei nicht wirklich helfen.
ich verwende das script mmsubito version 1.4 welches vom herausgeber nicht mehr supportet wird (letzte Version des Scriptes)
Das Script liest ein emailpostfach aus und speichert das angehängte jpg in einem dafür eingerichteten ordner auf dem webspace.
Nun mein problem, T-mobile verschickt mms mit einem abgeänderten header, sodass die falsche grafik gespeichert wird.
Anstatt das ursprüngliche bild wird die headergrafik von t-mobile gespeichert.
Ich habe schon einiges ausprobiert, komme aber leider nicht weiter, wie man das script modifizieren kann um entweder mehrere grafiken zu speichern bzw. eine spezielle t-mobile sperre einzu bauen, das für t-mobile immer nur die 2te grafik gespeichert wird.
Habe schon in diversen anderen foren gepostet, dort war keiner bereit mir zu helfen, deshalb versuche ich es hier mal.
Vielleicht kann mir einer von euch helfen
Vielen Dank
Michael
<?php
########################################################
############ MMSubito 1.4 © by ##################
############ 27/01/05 www.scripter.ch ##################
########################################################
#####################VARIABELN
$MAIL_HOST="mail.dein_provider.de";
$USER_NAME="deine@email.net";
$USER_PASS="dein_passwort";
$spalten = 2;
$dauer = 60;
$ordner = "bilder";
$absender = "";
$betreff = "dart";
$passwort = 'test';
$bilderanzahl = "4";
$picmasse = ' width="160" height=160';
$loeschen = 'ja';
$singlepic = 'nein';
#####################
$kennA = 'mms.o2online.de';
$kennB = 't-mobile-mms.de ';
$kennC = 'vodafone.de';
$kennD = 'eplus.de';
$bodypart = '';
$mmsize = 8000;
#####################ZEITPERIODE
$div = time() - filectime('temp.txt');
if($div > $dauer){
$doit = "ja";
$ifp = fopen( 'temp.txt', "wb" );
fwrite( $ifp, '' );
fclose( $ifp );
}
if ($anzeige == $passwort){
echo "TEST<hr>
Postfach wird alle $dauer Sekunden gecheckt<br>
Dauer seit der letzten Pruefung: $div Sekunden <br>
Postfach gecheckt? <b>$doit</b><br>";}
#####################POSTFACH CHECKEN
if(($doit == "ja") && ($inbox = @imap_open ("{". $MAIL_HOST . "/pop3:110}", $USER_NAME, $USER_PASS))){
$total = imap_num_msg($inbox)+1;
for($i=1; $i<$total; $i++) { ####### <<-- schlaufe emails auslesen
$headers = imap_header($inbox, $i);
$structure = imap_fetchstructure($inbox, $i);
if ($anzeige == $passwort){ ####### <<-- emails anzeigen zur kontrolle
echo "<hr><B>$i </B> vom ".$headers->Date . "<br>";
echo "<B>Von:</B> ".htmlspecialchars($headers->fromaddress);
echo "<br><B>An: </B>".$headers->toaddress . "";
echo "<br><B>Betreff: </B>".$headers->Subject . "<br>";
echo "Mailnachricht wurde nicht gelöscht <br>";
}
else
##################### MAILS ZUM LÖSCHEN MARKIEREN
{
if
(
(($absender == "")or(eregi($absender, $headers->fromaddress)))
&&
(
(eregi($kennA, $headers->fromaddress))
or
(eregi($kennB, $headers->fromaddress))
or
(eregi($kennC, $headers->fromaddress))
or
(eregi($kennD, $headers->fromaddress))
or
($betreff == "")
or
(eregi ($betreff, $headers->Subject))
)
)
## { imap_delete ($inbox, $i); }
{}
}
##################### FEHLERSUCHE BILDERKENNUNG
if (($anzeige == $passwort) && ($body == "such")){
$mibo = imap_fetchbody($inbox,$i,0);
echo "<br><b>*0</b> $mibo <br><br>";
$mibo = imap_fetchbody($inbox,$i,1);
echo "<b>*1</b> $mibo <br><br>";
$mibo = imap_fetchbody($inbox,$i,2);
echo "<b>*2 - " . strlen($mibo) . "</b> $mibo <br><br>";
$mibo = imap_fetchbody($inbox,$i,3);
echo "<b>*3 - " . strlen($mibo) . "</b> $mibo <br><br>";
$mibo = imap_fetchbody($inbox,$i,4);
echo "<b>*4</b> $mibo <br><br>";
$mibo = imap_fetchbody($inbox,$i,5);
echo "<b>*5</b> $mibo <br><br>";
}
##################### MMS BILDERKENNUNG
for($m=8;$m > -1;$m=$m-1){
$mimebody = imap_fetchbody($inbox,$i,$m);
$part = explode("\n",$mimebody);
for($x=0;$x<count($part);$x++){$part[$x] = chop($part[$x]);}
$part = implode("<br>",$part);
$part = explode("<br><br>",$part);
for($n=20;$n > -1;$n=$n-1){
$part[$n] = ereg_replace("<br>","\n",$part[$n]);
# echo "\n <br>° $n / $m °" . $part[$n];
if ( strlen($part[$n]) > $mmsize){ $mimebody = $part[$n]; $m = -2; $n = -2;
}
}
if ( strlen($mimebody) > $mmsize){$m = -2;}
}
if($bodypart != ""){$mimebody = imap_fetchbody($inbox,$i,$bodypart);}
### echo "<b>XXXX $mimebody XXXX</b>";
$inh = imap_body($inbox, $i);
$var = stristr($inh,'"');
$co = 0;
if($singlepic == 'ja')
{
$filename = '1111';
}else{
$filename = strtotime($headers->Date);
}
$filename = "$ordner/$filename.jpg";
#####################BILD-DATEI SCHREIBEN
if
(
(
($absender == "")or(eregi($absender, $headers->fromaddress))
)
&&
(
(eregi($kennA, $headers->fromaddress))
or
(eregi($kennB, $headers->fromaddress))
or
(eregi($kennC, $headers->fromaddress))
or
(eregi($kennD, $headers->fromaddress))
or
($betreff == "")
or
(eregi ($betreff, $headers->Subject))
)
)
{
if ($anzeige == $passwort)
{
echo "<br> fwrite - neue Datei geschrieben <br>";
}
else
{
if($loeschen == 'ja'){imap_delete ($inbox, $i);}
}
$imda2 = imap_base64("$mimebody");
$ifp = fopen( $filename, "wb" );
fwrite( $ifp, $imda2 );
### fwrite( $ifp, $mimebody );
fclose( $ifp );
}
}####### <<-- schlaufe emails auslesen ende
#####################CLEAN UP & LÖSCHEN
imap_expunge ($inbox); if ($anzeige == $passwort){echo "<br>expunge<br>";}
imap_close($inbox);
if ($anzeige == $passwort){
echo "Email wurde überprüft<hr>";
}
}
else
{
if ($anzeige == $passwort) {
echo "Mailpostfach wurde nicht überprüft<hr>";
}
}
if ($anzeige == $passwort){echo "<hr>";}
#####################BILDER ANZEIGEN
$imageData = array();
$verz=opendir ($ordner);
while ($file = readdir ($verz)) {
$ispic = strrchr($file,".");
array_push($imageData,$file);
## if ($ispic != "."){
## }
}
closedir($verz);
$y = count($imageData) - 1 ;
sort($imageData);
echo "<table border=0 width=100% align=center><tr>";
$z = 1;
if ($pics != ""){$z = $y - $pics;}
for($x=$y;$x>$z;$x=$x-1){
$titel = substr($imageData[$x], -14, 10) ;
$titel = gmdate("D - d M Y -- H:i:s", $titel);
if ($singlepic == 'ja'){$titel = '';}
$titel2 = eregi_replace("--",'<br>',$titel);
$ct++;
echo"<td align=center bgcolor=\"#ebebeb\">
<img src=\"$ordner/$imageData[$x]\" alt=\"$titel\" $picmasse><br>
<font size=2 face=Verdana><b>$titel2</b></font></td>";
if($ct == $spalten){echo"</tr><tr>"; $ct=0;}
}
echo "</tr></table>";
if ($pics != ""){echo '<center><a href="mmsubito.php">Alle Bilder</a></center>';}
?>