Hi,
bin gerade dabei einen Webmailer zu schreiben.
ich lese eine pop box mit imap aus.
Problem: wenn ich email attachments downloaden will geht das nicht bei
HTML dateien bzw. TXt dateien die Html enthalten.
hier ein teil des codes: (DownloadPage wenn man so sagen kann)
case "DOWNLOADATT":
header("Content-type: $type/$subtype");
header("Content-Disposition: attachment; filename=$name");
if($encoding == "base64")
{
echo "imap_base64(imap_fetchbody($mbox, $MsgNr, $part_no))";
}
else
{
echo imap_fetchbody($mbox, $MsgNr, $part_no);
}
break;
$type und $Subtype lese ich aus der email mitfolgendem:
hier wird auch der Link erstellt
$struct=imap_fetchstructure ( $Host, $MsgNr);
for ($i=0; $i<$numparts; $i++)
{
$text=imap_fetchbody ( $Host, $MsgNr, $i+1);
$part= $struct->parts[$i] ? $struct->parts[$i] : $struct;
$att_name = GetAttName($part); //Liest Attachment Namen aus
if ($att_name!="Unknown") // dann ist es ein Attachment -> Name ausgeben
{
$mime_encoding = get_mime_encoding($part);
$mime_type = get_mime_type($part);
$url_att_name = urlencode($att_name);
$part_no=$i+1;
$allAtts.= "<p><a href=\"main.php?Request=DOWNLOADATT&MsgNr=$MsgNr&part_no=$part_no";
$allAtts.= "&type=$mime_type&subtype=$part->subtype&name=$url_att_name&";
$allAtts.= "encoding=$mime_encoding\">$att_name</a></p>";
//das ist der link der dann open case "DOWNLOADATT" auslöst
}
}
Es funktioniert bei Bilder, und normalen TXT dateien, aber sobald HTML/PHP drin steht is es vorbei!
das Datei speichern unter fenster geht auf, ich wähl die location und drück auf speichern! dann kommt die meldung "Datei kann nicht kopiert werden: Die Quelldatei oder vom Quelldatenträger kann nicht gelesen werden"
hab schon überall gesucht aber nix gefunden
Thx schon mal
dc9000
bin gerade dabei einen Webmailer zu schreiben.
ich lese eine pop box mit imap aus.
Problem: wenn ich email attachments downloaden will geht das nicht bei
HTML dateien bzw. TXt dateien die Html enthalten.
hier ein teil des codes: (DownloadPage wenn man so sagen kann)
case "DOWNLOADATT":
header("Content-type: $type/$subtype");
header("Content-Disposition: attachment; filename=$name");
if($encoding == "base64")
{
echo "imap_base64(imap_fetchbody($mbox, $MsgNr, $part_no))";
}
else
{
echo imap_fetchbody($mbox, $MsgNr, $part_no);
}
break;
$type und $Subtype lese ich aus der email mitfolgendem:
hier wird auch der Link erstellt
$struct=imap_fetchstructure ( $Host, $MsgNr);
for ($i=0; $i<$numparts; $i++)
{
$text=imap_fetchbody ( $Host, $MsgNr, $i+1);
$part= $struct->parts[$i] ? $struct->parts[$i] : $struct;
$att_name = GetAttName($part); //Liest Attachment Namen aus
if ($att_name!="Unknown") // dann ist es ein Attachment -> Name ausgeben
{
$mime_encoding = get_mime_encoding($part);
$mime_type = get_mime_type($part);
$url_att_name = urlencode($att_name);
$part_no=$i+1;
$allAtts.= "<p><a href=\"main.php?Request=DOWNLOADATT&MsgNr=$MsgNr&part_no=$part_no";
$allAtts.= "&type=$mime_type&subtype=$part->subtype&name=$url_att_name&";
$allAtts.= "encoding=$mime_encoding\">$att_name</a></p>";
//das ist der link der dann open case "DOWNLOADATT" auslöst
}
}
Es funktioniert bei Bilder, und normalen TXT dateien, aber sobald HTML/PHP drin steht is es vorbei!
das Datei speichern unter fenster geht auf, ich wähl die location und drück auf speichern! dann kommt die meldung "Datei kann nicht kopiert werden: Die Quelldatei oder vom Quelldatenträger kann nicht gelesen werden"
hab schon überall gesucht aber nix gefunden
Thx schon mal
dc9000
Kommentar