


Comment joindre plusieurs fichiers à des e-mails en PHP ?
Nov 03, 2024 am 03:35 AMJoindre plusieurs fichiers à des e-mails en PHP
Lors de l'envoi d'e-mails, il est souvent nécessaire d'inclure des pièces jointes, qu'il s'agisse d'un seul fichier ou de plusieurs. Le code que vous avez fourni pour envoyer une seule pièce jointe peut être modifié pour accueillir plusieurs fichiers.
Comprendre la limite MIME
Pour envoyer plusieurs fichiers, vous devez utiliser le Limite MIME, qui sépare les différentes parties de l'email (texte, pièces jointes). Une limite unique est générée à l'aide d'une chaîne aléatoire, garantissant que le lecteur de courrier électronique peut correctement différencier les parties.
Préparation du message en plusieurs parties
Pour préparer le message en plusieurs parties message, commencez par le contenu du message textuel standard et spécifiez la version MIME et la limite de la section.
Gestion des pièces jointes
Pour chaque fichier à joindre, vous devez lire le contenu du fichier en utilisant fopen() et encodez-le en utilisant base64_encode(). L'en-tête de la section des pièces jointes comprend des informations telles que le type de fichier, le nom et l'encodage du transfert.
Assemblage de l'e-mail
Le message électronique final est assemblé en combinant le contenu textuel et les sections de pièces jointes, chacune séparée par la limite MIME.
Exemple de mise en œuvre
Le code suivant illustre comment joindre plusieurs fichiers à un e-mail à l'aide de PHP :
<code class="php">// Prepare the email fields $to = "recipient@example.com"; $from = "sender@example.com"; $subject = "Email with Attachments"; $message = "This email contains multiple attachments."; $headers = "From: $from"; // Generate a random boundary $semi_rand = md5(time()); $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; // Prepare the multipart message $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"; // Prepare attachments $files = ["file1.pdf", "file2.rar"]; foreach ($files as $file) { $file_content = file_get_contents($file); $encoded_content = chunk_split(base64_encode($file_content)); $message .= "--{$mime_boundary}\n" . "Content-Type: application/octet-stream;\n" . " name=\"$file\"\n" . "Content-Disposition: attachment;\n" . " filename=\"$file\"\n" . "Content-Transfer-Encoding: base64\n\n" . $encoded_content . "\n\n"; } // Complete the message $message .= "--{$mime_boundary}--\n"; // Headers for attachment $headers .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\""; // Send the email if (mail($to, $subject, $message, $headers)) { echo "Email sent with attachments."; } else { echo "Failed to send email."; }</code>
Conclusion
En utilisant plusieurs limites MIME dans le message électronique, il est possible de joindre et d'envoyer plusieurs fichiers dans un seul e-mail à l'aide de PHP. Ce code vous aidera à rationaliser votre communication par courrier électronique en vous permettant de partager différents fichiers en une seule fois.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

11 meilleurs scripts de raccourcissement d'URL PHP (gratuit et premium)

Travailler avec les données de session Flash dans Laravel

Misque de réponse HTTP simplifié dans les tests Laravel

Curl dans PHP: Comment utiliser l'extension PHP Curl dans les API REST

Construisez une application React avec un Laravel Back End: Partie 2, React

12 meilleurs scripts de chat PHP sur Codecanyon
