Der Martin: e-Mail mit Anhang (1blu)

Beitrag lesen

Hi,

<form name="verzeichnis" action="test2.php">

hier fehlen noch die Attribute method="post" und enctype="multipart/form-data". Mich wundert, dass ohne diese Angaben überhaupt irgendwas Verwertbares beim Server ankommt.

Nun hab ich diesen Code im Internet gefunden und geändert:

Dieser Code scheint böse[tm] zu sein. Wo kommen die Variablen $lokale_datei und $lokale_datei_name her? Sieht ganz so aus, als verlässt sich da jemand darauf, dass die PHP-Option register_globals entgegen der allgemeinen Empfehlung (und entgegen der Defaulteinstellung) aktiviert ist.

$mail_header  = "From:Meine Adresse meine-adresse@web.de\n";

Der Zeilenumbruch ist nicht korrekt. Hier muss eine Kombination CR/LF verwendet werden, also \r\n. Ein \n allein reicht nicht.

$mail_header .= "MIME-Version: 1.0";
$mail_header .= "\nContent-Type: multipart/mixed; boundary=$boundary";

Und wieso gehst du hier plötzlich dazu über, den Zeilenumbruch vorne dranzuschreiben anstatt hinten, wo man ihn erwarten würde?

$file_content = fread(fopen($file,"r"),filesize($file));

Hoppla, weiter oben sah es noch so aus, als sollte $file der *Inhalt* der Datei sein. Jetzt ist es auf einmal doch der Name? Und wo liegt die Datei auf dem Server? Bestimmt nicht im gleichen Verzeichnis wie das laufende Script, sondern in irgendeinem temp-Verzeichnis.

$mail_header .= "\nContent-Type: application/octetstream; name="$file_name"";

Falsche Schreibweise. Es heißt "application/octet-stream".

$versand = mail($to,$betreff,$message,$mail_header);
mail($to,$betreff,$message,$mail_header);
if (!$versand) {

Das ist ja putzig: Du verschickst die Nachricht zweimal exakt identisch, interessierst dich aber nur beim ersten Mal dafür, ob's geklappt hat.

Das Problem ist nun, dass zwar kommt "Versand war erfolgreich" aber keine email ankommt.Ich bin bei 1Blu funktioniert, dass dort vielleicht nicht?

Wenn die Zeilenumbrüche im Mailheader mal stimmen, hast du schon wesentlich bessere Chancen. ;-)

Frohe (F)eiertage,
 Martin

--
Wenn der Computer wirklich alles kann,
dann kann er mich mal kreuzweise.