>백엔드 개발 >PHP 튜토리얼 >PHP를 사용하여 이메일에 여러 파일을 첨부하는 방법은 무엇입니까?

PHP를 사용하여 이메일에 여러 파일을 첨부하는 방법은 무엇입니까?

DDD
DDD원래의
2024-11-02 16:20:29868검색

How to Attach Multiple Files to an Email Using PHP?

PHP를 통해 이메일에 여러 파일 첨부

문제:

처음에 제공된 PHP 코드는 다음 파일의 첨부 및 전송을 허용합니다. 단 하나의 파일. 그러나 일반적으로 서로 다른 형식(예: RAR 및 PDF)으로 두 개의 파일을 동시에 첨부하여 보내야 할 필요성이 발생합니다.

해결책:

여러 첨부 파일을 보내려면 PHP를 사용하여 이메일을 보내려면 다음과 같이 코드를 수정하세요.

<br>$files = ['경로/to/example.rar', '경로/to/example.pdf']; // 파일 경로 배열</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";

}

설명:

  • $files 배열에는 경로가 포함됩니다. 첨부해야 하는 파일에.
  • for 루프가 반복됩니다. 배열을 통해 파일 내용을 $data 변수로 읽고 base64를 사용하여 인코딩합니다.
  • $message 변수에는 파일 이름, 콘텐츠 유형 및 base64를 포함하여 각 첨부 파일에 대한 적절한 헤더가 추가됩니다. -인코딩된 데이터.
  • 모든 파일이 처리되면 $message 변수를 이메일로 보낼 준비가 됩니다. 내용입니다.

위 내용은 PHP를 사용하여 이메일에 여러 파일을 첨부하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.