Für einen Kunden habe ich ein PHP Script geschrieben, das per Cronjob Mails verschickt. Diese mails können bis zu drei Anhänge haben. Während auf dem Mac auch wirklich nur die Mails mit den Anhängen ankommen, sind bei Outlook auf Windows immer noch bis zu zwei leere .att Anhänge mit dabei.
Kann mir jemand sagen, wo die att Anhänge herkommen bzw. wie die zu vermeiden sind. Ich kann ja leider nicht davon ausgehen, daß alle seine Kunden Macs verwenden.
Danke schonmal im Voraus.
Hier das gekürzte Script:
Code
if ($anzahl > 1){
$semi_rand = md5(time());
$boundary = "Multipart_Boundary_x{$semi_rand}x";
$header = 'From: xxx ' . "\n" . 'Reply-To: xxx' . "\n" . 'Return-Path: xxx' . "\n" . 'X-Mailer: PHP/' . phpversion();
$header .= "\nMIME-Version: 1.0";
$header .= "\nContent-Type: multipart/mixed; boundary=$boundary";
$header .= "\n\nThis is a multi-part message in MIME format -- Dies ist eine mehrteilige Nachricht im MIME-Format";
$header .= "\n--$boundary";
$header .= "\nContent-Type: text/html; charset=iso-8859-1";
$header .= "\nContent-Transfer-Encoding: 8bit";
foreach ($anhangliste as $key => $wert){
$fileatt = '../../newspic/'.$wert;
$fileatt_type = "application/octet-stream";
$fileatt_name = basename($fileatt);
$file = fopen($fileatt,'rb');
$data = fread($file,filesize($fileatt));
fclose($file);
$data = chunk_split(base64_encode($data));
$header2 .= "\n--{$boundary}";
$header2 .= "\nContent-Type: $anhang_content_type; name=\"{$fileatt_name}\"";
$header2 .= "\nContent-Transfer-Encoding: base64";
$header2 .= "\nContent-Disposition: attachment; filename=\"{$fileatt_name}\"\n\n";
$header2 .= $data;
$a++;
if ($a == $anzahl) {
$header2 .= "\n--{$boundary}--\n\n";
}else{
$header2 .= "\n--{$boundary}\n";
}
}
}elseif ($anzahl == 1){
$datei = '../../newspic/'.$anhangliste[1];
$datei_content = fread(fopen($datei,"r"),filesize($datei));
$datei_content = chunk_split(base64_encode($datei_content));
$boundary = strtoupper(md5(uniqid(time())));
$header = 'From: xxx ' . "\n" . 'Reply-To: xxx' . "\n" . 'Return-Path: xxx' . "\n" . 'X-Mailer: PHP/' . phpversion();
$header .= "\nMIME-Version: 1.0";
$header .= "\nContent-Type: multipart/mixed; boundary=$boundary";
$header .= "\n\nThis is a multi-part message in MIME format -- Dies ist eine mehrteilige Nachricht im MIME-Format";
$header .= "\n--$boundary";
$header .= "\nContent-Type: text/html; charset=iso-8859-1";
$header .= "\nContent-Transfer-Encoding: 8bit";
$header2 = "\n--$boundary";
$header2 .= "\nContent-Type: $anhang_content_type; name=\"$anhangliste[1]\"";
$header2 .= "\nContent-Transfer-Encoding: base64";
$header2 .= "\nContent-Disposition: attachment; filename=\"$anhangliste[1]\"";
$header2 .= "\n\n$datei_content";
$header2 .= "\n--$boundary--";
}
$nachricht = $mailkopf.$zeilet[mailtext].$mailtext2.$mailfuss;
$header .= "\n\n$nachricht";
$header .= $header2;
mail($zeile[adresse],$zeilet[betreff],"",$header);
Alles anzeigen