PHP Script

Florian

Angesehenes Mitglied
Hallo,
wie überprüfe ich mit PHP mein E-mail Konto POP3 und lese die E-mail ein un zeige den Anhang (JPG-Bild) an.

MFG
Florian
 
Naja, also hör mal....

geh auf www.php.net und schau mal unter dem Befehl IMAP bei google.ch nach....
 
Hallo Florian,

vielleicht hilft Dir dieser Schnipsel.
(hab ich nicht getestet, nur drauflosgetippt)

Dies erfordert IMAP-Unterstützung
(trotz der Funktionsnamen funktionieren auch POP3-Fächer)


CODE $mbox = imap_open ("{pop.deinserver.ch:110}MBOXNAME", "username", "password");
$aNeueMails=imap_fetch_overview($mbox,"1:$MN",0);
$nmails=count($aNeueMails);
for ($j=1; $j<=$nmails; $j++)
{
$oStruct=imap_fetchstructure($mbox, $j);
$nteile=count($oStruct->parts);
if ($nteile>=2) // Anhang vorhanden
{
for ($k=1;$k<$nteile;$k++)
{
$dateiname= strtolower($oStruct->parts[$k]->dparameters[0]->value);
$inhalt = base64_decode(imap_fetchbody($mbox, $j, $k));
$fp = fopen("/tmp/".$dateiname ,"w+");
fwrite ($fp, $inhalt );
fclose($fp);
}

}
}

Wie gesagt, auf die Schnelle: es wird nicht geprüft ob es ein jpg ist, sondern
einfach davon ausgegangen (das angehängte JPG-Bild landet im Temp-Ordner
und hat den originalen Namen /tmp/Bild1.jpg, man könnte auch mit den
ImageJPEG()-Funktionen das Bild direkt an den Browser senden etc...)


Gruß aus Quickborn
Robert
 
Irgendwie kommt da gar nichts nicht einmal eine Fehlermeldung nur 404!

MFG
Florian
 
Was heisst den eigentlich MBOXNAME muss ich das ersetzen gegen den Mailboxnamen.

MFG
Florian
 
Also ich finde es sehr billig von dir...

Ich stelle hier mein Projekt vor und du fragst mich anschliessend ob du den MMS Script bekommen kannst.

Und nun willst du eine MMS-Projekt erstellen? Hast keine eigene Ideen?
 
Ja, aber die Idee stammt nicht von dir!
biggrin.gif
 
Mit dem Script funtionierts. Aber es erscheint immer "Keine neuen E-mails"! Ob wohl ich eine an mms@neuburg-web.de gesendet habe! Wieso bloss!

CODE <?php
$mbox = imap_open ("{pop3.neuburg-web.de:110/pop3}INBOX", "username", "password") or die("Keine Verbindung bzw. Login ins Postfach");
$aNeueMails=imap_fetch_overview($mbox,"1:$MN",0) or die("Keine neuen E-mails");
$nmails=count($aNeueMails);
for ($j=1; $j<=$nmails; $j++)
{
$oStruct=imap_fetchstructure($mbox, $j);
$nteile=count($oStruct->parts);
if ($nteile>=2) // Anhang vorhanden
{
for ($k=1;$k<$nteile;$k++)
{
$dateiname= strtolower($oStruct->parts[$k]->dparameters[0]->value);
$inhalt = base64_decode(imap_fetchbody($mbox, $j, $k));
$fp = fopen("/tmp/".$dateiname ,"w+");
fwrite ($fp, $inhalt ) or die("Fehler beim schreiben der Datei");
fclose($fp);
}

}
}
echo "$dateiname";
?>

MFG
Florian
 
Hallo,
den Dateinamen kann ich jetzt schon auslesen ab die Datei (inhalt) selber irgendwie nicht!

CODE
<?php
// Connect to Mailbox
$mailbox = imap_open ("{pop3.dein-name.de:110/pop3}INBOX", "Name", "Password") or die("Keine Verbindung bzw. Login ins

Postfach");
// Mail holen
$check = imap_check($mailbox);
$Anzahl_Nachrichten = $check->Nmsgs;
$Anzahl_Neuer_Nachrichten = $check->Recent;
$nmails=count($Anzahl_Neuer_Nachrichten);
for ($j=1; $j<=$nmails; $j++)
{
$oStruct=imap_fetchstructure($mailbox, $j);
$nteile=count($oStruct->parts);
if ($nteile>=2) // Anhang vorhanden
{
for ($k=1;$k<$nteile;$k++)
{
$dateiname= strtolower($oStruct->parts[$k]->dparameters[0]->value);
$inhalt = base64_decode(imap_fetchbody($mailbox, $j, $k));
}
}
}
echo "$dateiname";
// Mailbox schließen
imap_close($mailbox);
?>

MFG
Florian
 
Zurück
Oben