PHP에서 이메일을 통해 여러 파일 첨부 및 보내기
원래 작업은 첨부 파일을 하나만 보낼 수 있는 코드를 수정하여 두 개를 보내는 것이었습니다. 또는 더 많은 파일. 이 수정된 코드는 여러 개의 첨부 파일을 이메일로 보낼 수 있도록 하여 이 요구 사항을 해결합니다.
<code class="php"><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> <?php if($_POST) { // Create arrays for file information $ftype = $_FILES['csv_file']['type']; $fname = $_FILES['csv_file']['name']; // Define files to be attached $files = $fname; // Email fields $to = "recipient@example.com"; $from = "sender@example.com"; $subject = "Attachments"; $message = "Email with attached files"; $headers = "From: $from"; // Set MIME boundary $semi_rand = md5(time()); $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; // Create multipart header $headers .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\""; // Build 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 each attachment foreach ($files as $key => $value) { $file = fopen($value, "rb"); $data = fread($file, filesize($value)); fclose($file); $data = chunk_split(base64_encode($data)); $message .= "Content-Type: {\"application/octet-stream\"};\n" . " name=\"$fname[$key]\"\n" . "Content-Disposition: attachment;\n" . " filename=\"$fname[$key]\"\n" . "Content-Transfer-Encoding: base64\n\n" . $data . "\n\n"; $message .= "--{$mime_boundary}\n"; } // Send email $ok = @mail($to, $subject, $message, $headers); if ($ok) { echo "<p>Email sent to $to!</p>"; } else { echo "<p>Email could not be sent!</p>"; } } ?></code>
위 내용은 PHP를 사용하여 이메일에 여러 파일을 첨부 파일로 보내는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!