Heim  >  Artikel  >  Backend-Entwicklung  >  Wie hänge ich mit PHP mehrere Dateien an eine E-Mail an?

Wie hänge ich mit PHP mehrere Dateien an eine E-Mail an?

DDD
DDDOriginal
2024-11-02 16:20:29780Durchsuche

How to Attach Multiple Files to an Email Using PHP?

Anhängen mehrerer Dateien in einer E-Mail über PHP

Problem:

Der bereitgestellte PHP-Code ermöglicht zunächst das Anhängen und Versenden von nur eine einzige Datei. Es besteht jedoch die Notwendigkeit, zwei Dateien gleichzeitig anzuhängen und zu senden, typischerweise in unterschiedlichen Formaten (z. B. RAR und PDF).

Lösung:

Um mehrere Anhänge einzusenden Um eine E-Mail mit PHP zu senden, ändern Sie den Code wie folgt:

<br>$files = ['path/to/example.rar', 'path/to/example.pdf']; // Array von Dateipfaden</p>
<p>// ...</p>
<p>for($x=0;$x<count($files);$x ){</p><pre class="brush:php;toolbar:false">$file = fopen($files[$x],"rb");
$data = fread($file,filesize($files[$x]));
fclose($file);
$data = chunk_split(base64_encode($data));
$message .= "Content-Type: {\"application/octet-stream\"};\n" . " name=\"$files[$x]\"\n" . 
"Content-Disposition: attachment;\n" . " filename=\"$files[$x]\"\n" . 
"Content-Transfer-Encoding: base64\n\n" . $data . "\n\n";
$message .= "--{$mime_boundary}\n";

}

Erklärung:

  • Das $files-Array enthält die Pfade zu den Dateien, die angehängt werden müssen.
  • Die for-Schleife durchläuft das Array, liest den Dateiinhalt in die Variable $data und codiert ihn mit base64.
  • An die Variable $message werden die entsprechenden Header für jeden Dateianhang angehängt , einschließlich Dateiname, Inhaltstyp und Base64-codierten Daten.
  • Nachdem alle Dateien verarbeitet wurden, kann die Variable $message als E-Mail-Inhalt gesendet werden.

Das obige ist der detaillierte Inhalt vonWie hänge ich mit PHP mehrere Dateien an eine E-Mail an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn