php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Mail mit Anhang WAMP / LAMP


 
martin@medler.de
01-02-2003, 13:23 
 
Hallo,

ich möchte mit mail() eine Mail mit Attachment (Excel) verschicken. Auf meiner Domain geht es, aber auf meinem lokalen WAMP Server nicht. Das muss ich aber machen, weil es im Intranet funktionieren muss. Weiß jemand, warum das nicht geht bzw. hat eine Idee?

Ergänzung: Die Mail wird verschickt, aber die Datei ist dann zerschossen und lässt sich nicht öffnen. (Fehlermeldung in Excel). Im übrigen geht es mit PDF oder Word Dateien auch nicht.

 
MHeiss
01-02-2003, 17:19 
 
Hallöchen, wahrscheinlich ist der genaue Serverpfad auf Deiner Domain ein anderer, als in Deinem Intranet.

Hast Du das schon mal überprüft?

Die Angabe eines falschen Speicherplatzes, kann bewirken, daß die Datei zwar als attachment angefügt wird, es sich allerdings nicht um die Datei handelt, die Du eigentlich per Mail verschicken willst.

Grüße

 
martin@medler.de
01-02-2003, 19:04 
 
Der dürfte stimmen. Ich nutze dies Skript:


$file = "test.xls";
$file_name = "test.xls";
$subject = "Testmail";
$from = "Martin Medler";
$to = "martin@medler.de";
$message = "Dies ist ein Test";
$boundary = strtoupper(md5(uniqid(time())));
$mail_header = "From:$from\n";
$mail_header .= "MIME-Version: 1.0";
$mail_header .= "\nContent-Type: multipart/mixed; boundary=$boundary";
$mail_header .= "\n\nThis is a multi-part message in MIME format -- Dies ist eine mehrteilige Nachricht im MIME-Format";
$mail_header .= "\n--$boundary";
$mail_header .= "\nContent-Type: text/plain";
$mail_header .= "\nContent-Transfer-Encoding: 8bit";
$mail_header .= "\n\n$message";
$file_content = fread(fopen($file,"r"),filesize($file));
$file_content = chunk_split(base64_encode($file_content));
$mail_header .= "\n--$boundary";
$mail_header .= "\nContent-Type: application/x-excel; name=\"$file_name\"";
$mail_header .= "\nContent-Transfer-Encoding: base64";
$mail_header .= "\nContent-Disposition: attachment; filename=\"$file_name\"";
$mail_header .= "\n\n$file_content";
$mail_header .= "\n--$boundary--";
mail($to,$subject,"",$mail_header);


und die Datei liegt im selben Verzeichnis. Genau der gleiche Zustand auf dem LAMP geht...

 
Realmaker
01-02-2003, 22:14 
 
$mail_header = "From:" . $from . "\n";

 
martin@medler.de
02-02-2003, 10:12 
 
Nein, leider. Das war´s auch nicht. Wie gesagt, das Script geht ja auch eigentlich. Nur dass die Datei zerschossen wird, wenn Sie von meinem Intranet gesendet wird.


Alle Zeitangaben in WEZ +2. Es ist jetzt 06:27 Uhr.