Bastian: Maximale Größe eines Zip-Archivs bestimmen

Beitrag lesen

Hallo,

ein zweigeteilte Frage, ich packe derzeit "zu generierenden Dateien (pdfs)" in eine Zip-Datei und versende die per email.

Nun erhielt ich soeben die Meldung:

A message that you sent was longer than the maximum size allowed on this
system. It was not delivered to any recipients.

Heißt also, ich hätte besser mehrere Dateien daraus gemacht und mehrer Emails versendet. Geht sowas überhaupt? Also quasi dem php-Script mitteilen, dass es aus einer beliebigen Anzahl von Dateien eines Verzeichnisses n Zip-Archive mit max. x MB Datenmenge machen soll und diese dann anschließend in n Emails versenden soll??

Mein bisheriger Quellcode ist der:

$zip_name = $dir."/".$vonbis.".zip";
// Verzeichnis auslesen
$dateien = scanDir($dir);
// Neue Instanz der ZipArchive Klasse erzeugen
$zip = new ZipArchive;
// Zip-Archiv erstellen
$status = $zip->open($zip_name, ZipArchive::CREATE);
if ($status === TRUE) {
 // Dateien ins Zip-Archiv einfügen
 foreach ($dateien as $datei) {
     if ($datei != "." && $datei != "..") {
         $zip->addFile($dir."/".$datei,$datei);
     }
 }
// Zip-Archiv schließen
 $zip->close();
}


//Klasse einbinden
require_once('./class.phpmailer.php');

//Instanz von PHPMailer bilden
$mail = new PHPMailer();
$mail->IsHTML(true);
$mail->CharSet = "ISO-8859-1";
//Absenderadresse der Email setzen
$mail->From = $absender;
$mail->FromName = "Tester";
$mail->AddAddress($adresse);
//Betreff der Email setzen
$mySubject = "Text $var1 vom $von_Datum bis $bis_Datum";

$mail->Body = $text;

//Eine Datei vom Server als Attachment anhängen
$mail->AddAttachment($zip_name,"meineDatei.zip");

$mail->Send();