So hängen Sie mehrere Dateien an eine E-Mail in PHP an
In PHP können Sie mehrere Dateien an eine E-Mail anhängen und diese gleichzeitig senden. Dies ist nützlich, um große oder wichtige Dokumente zu teilen.
Multipart-MIME-Format
Um mehrere Dateien an eine E-Mail anzuhängen, müssen Sie das Multipart-MIME-Format verwenden. Mit MIME (Multipurpose Internet Mail Extensions) können Sie verschiedene Datentypen in einer einzigen E-Mail-Nachricht senden.
PHP-Code für mehrere Dateianhänge
Hier ist ein PHP-Beispielcode das zeigt, wie man mehrere Dateien an eine E-Mail anhängt:
<code class="php">if ($_POST) { // Get the file names $files = $_FILES['csv_file']['name']; // Email fields $to = "[email protected]"; $from = "[email protected]"; $subject = "My subject"; $message = "My message"; $headers = "From: $from"; // Boundary $semi_rand = md5(time()); $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; // Headers for attachment $headers .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\""; // Multipart boundary $message = "This is a multi-part message in MIME format.\n\n" . "--{$mime_boundary}\n" . "Content-Type: text/plain; charset=\"iso-8859-1\"\n" . "Content-Transfer-Encoding: 7bit\n\n" . $message . "\n\n"; $message .= "--{$mime_boundary}\n"; // Preparing attachments foreach ($files as $file) { $file_data = file_get_contents($file); $file_data = chunk_split(base64_encode($file_data)); $message .= "Content-Type: {\"application/octet-stream\"};\n" . " name=\"$file\"\n" . "Content-Disposition: attachment;\n" . " filename=\"$file\"\n" . "Content-Transfer-Encoding: base64\n\n" . $file_data . "\n\n"; $message .= "--{$mime_boundary}\n"; } // Send the email $ok = @mail($to, $subject, $message, $headers); if ($ok) { echo "<p>mail sent to $to!</p>"; } else { echo "<p>mail could not be sent!</p>"; } } ?></code>
HTML-Formular zum Hochladen von Dateien
Dieser Code kann in Verbindung mit einem HTML-Formular verwendet werden, das dies ermöglicht Benutzer können mehrere Dateien auswählen:
<code class="html"><form action="#" method="POST" enctype="multipart/form-data"> <input type="file" name="csv_file[]" /><br/> <input type="file" name="csv_file[]" /><br/> <input type="file" name="csv_file[]" /><br/> <input type="submit" name="upload" value="Upload" /><br/> </form></code>
Das enctype="multipart/form-data"-Attribut muss dem Formular hinzugefügt werden, um das Hochladen von Dateien zu ermöglichen.
Durch die Implementierung dieser Methoden können Sie dies tun Hängen Sie ganz einfach mehrere Dateien an eine E-Mail an und senden Sie sie über ein PHP-Skript.
Das obige ist der detaillierte Inhalt vonWie versende ich mit PHP mehrere Dateianhänge in E-Mails?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!