要使用PHP發送帶附件的電子郵件,您可以使用PHPMailer庫。以下是使用PHPMailer發送帶附件的電子郵件的步驟:
composer require phpmailer/phpmailer
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
use PHPMailer\PHPMailer\SMTP;
require 'vendor/autoload.php';
$mail = new PHPMailer(true);
try {
// 郵件服務器設置
$mail->SMTPDebug = SMTP::DEBUG_SERVER; // 開啟詳細調試輸出
$mail->isSMTP(); // 設置郵件發送使用SMTP協議
$mail->Host = 'smtp.example.com'; // 設置郵件發送服務器的地址
$mail->SMTPAuth = true; // 開啟使用SMTP認證功能
$mail->Username = 'your_email@example.com'; // 設置發送郵件的用戶名
$mail->Password = 'your_email_password'; // 設置發送郵件的密碼
$mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS; // 設置加密類型
$mail->Port = 465; // 設置郵件發送端口
// 發件人和收件人
$mail->setFrom('your_email@example.com', 'Your Name');
$mail->addAddress('recipient@example.com', 'Recipient Name');
// 附件
$mail->addAttachment('/path/to/your/attachment.ext', 'Attachment Name');
// 郵件內容
$mail->isHTML(true); // 設置郵件正文格式為HTML
$mail->Subject = 'Email with Attachment'; // 設置郵件主題
$mail->Body = 'This is the HTML message body <b>in bold!</b>';
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
$mail->send();
echo 'Message has been sent';
} catch (Exception $e) {
echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
}
?>
smtp.example.com
:將其替換為您的郵件服務器地址。your_email@example.com
:將其替換為您的發件人電子郵件地址。your_email_password
:將其替換為您的發件人電子郵件密碼。/path/to/your/attachment.ext
:將其替換為您要附加的文件路徑和擴展名。recipient@example.com
:將其替換為收件人的電子郵件地址。Recipient Name
:將其替換為收件人的名稱。Attachment Name
:將其替換為您要附加的文件名稱。php send_email_with_attachment.php
現在,您應該能夠成功發送帶有附件的電子郵件。如果您遇到任何問題,請檢查您的郵件服務器設置和電子郵件憑據是否正確。