ホームページ  >  記事  >  バックエンド開発  >  PHP を使用して複数のファイルを電子メールに添付するにはどうすればよいですか?

PHP を使用して複数のファイルを電子メールに添付するにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-02 16:20:29778ブラウズ

How to Attach Multiple Files to an Email Using PHP?

PHP 経由で複数のファイルを電子メールに添付する

問題:

最初に提供された PHP コードでは、ファイルの添付と送信が可能ですファイルは 1 つだけです。ただし、通常は異なる形式 (RAR と PDF など) で 2 つのファイルを同時に添付して送信する必要があります。

解決策:

複数の添付ファイルを送信するにはPHP を使用して電子メールを送信する場合は、コードを次のように変更します。

<br>$files = ['path/to/example.rar', 'path/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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。