如何在 PHP 中将多个文件附加到电子邮件?
在 PHP 中将多个文件附加到电子邮件
发送电子邮件时,通常需要包含附件,无论是单个文件还是多个文件。您提供的用于发送单个附件的代码可以修改为容纳多个文件。
了解 MIME 边界
要发送多个文件,您必须使用MIME 边界,分隔电子邮件的不同部分(文本、附件)。使用随机字符串生成唯一边界,确保电子邮件阅读器可以正确区分各个部分。
多部分消息准备
准备多部分消息,以标准文本消息内容开头,并指定 MIME 版本和节边界。
附件处理
对于要附加的每个文件,您需要阅读使用 fopen() 读取文件内容并使用 base64_encode() 对其进行编码。附件部分标题包括文件类型、名称和传输编码等信息。
组装电子邮件
通过组合文本内容组装最终的电子邮件消息和附件部分,每个部分均由 MIME 边界分隔。
示例实现
以下代码演示了如何使用 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>
登录后复制
结论
通过在电子邮件中使用多个 MIME 边界,可以使用 PHP 在一封电子邮件中附加和发送多个文件。此代码将允许您一次性共享各种文件,从而帮助您简化电子邮件通信。
以上是如何在 PHP 中将多个文件附加到电子邮件?的详细内容。更多信息请关注PHP中文网其他相关文章!
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前
By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
击败分裂小说需要多长时间?
3 周前
By DDD
R.E.P.O.保存文件位置:在哪里以及如何保护它?
3 周前
By DDD

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)