ホームページ >バックエンド開発 >PHPチュートリアル >PHP で PHPMailer を使用して電子メールにファイルを添付するにはどうすればよいですか?

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

DDD
DDDオリジナル
2024-12-05 22:57:11241ブラウズ

How Can I Attach Files to Emails Using PHPMailer in PHP?

PHP の PHPMailer を使用した添付ファイルの送信

PHPMailer を利用して電子メールを送信する場合、多くの場合、Web フォームからファイルを添付する必要があります。このガイドでは、「example.com/contact-us.php」にあるフォームから「uploaded_file」という名前のファイルを簡単に添付する手順を説明します。

アップロードされたファイルの取得ファイル

「process.php」ファイルでは、アップロードされたファイルをform:

if (isset($_FILES['uploaded_file']) && $_FILES['uploaded_file']['error'] == UPLOAD_ERR_OK) {
    $uploadedFile = $_FILES['uploaded_file'];
}

ファイルがアップロードされているかどうかを確認し、アップロードされたファイルの一時ファイル名、名前、サイズ、タイプを取得します。

ファイルの添付

ファイル情報を取得したら、PHPMailer の addAttachment() メソッドを使用してファイルを添付できます。ファイルをメールに送信します:

$mail->addAttachment($uploadedFile['tmp_name'], $uploadedFile['name']);

ここで、$uploadedFile['tmp_name'] は一時ファイル名、$uploadedFile['name'] は元のファイル名です。

完全なコード例

これは、ファイルが添付された「process.php」ファイルの更新バージョンです。ロジック:

require("phpmailer.php");

$mail = new PHPMailer();

$mail->From = 'you@example.com';
$mail->FromName = 'Your Name';
$mail->AddAddress('john.doe@example.com', 'John Doe');

$mail->WordWrap = 50;
$mail->IsHTML(true);

$mail->Subject = 'Contact Form Submitted';
$mail->Body = 'This is the body of the message.';

if (isset($_FILES['uploaded_file']) && $_FILES['uploaded_file']['error'] == UPLOAD_ERR_OK) {
    $uploadedFile = $_FILES['uploaded_file'];
    $mail->addAttachment($uploadedFile['tmp_name'], $uploadedFile['name']);
}

$mail->Send();

このコードを使用すると、アップロードされたファイルがメールに添付されて送信されます。

以上がPHP で PHPMailer を使用して電子メールにファイルを添付するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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