PHP 內建 mail() 只能發送簡單郵件,許多郵箱(Hotmail、Live 等)會攔截。PHPMailer 功能強大,支援 SMTP 認證、HTML、附件、多編碼、除錯模式,是發信首選。
$mail = new PHPMailer(); $mail->IsSMTP(); $mail->Host = "smtp.163.com"; $mail->SMTPAuth = true; $mail->Username = "your@163.com"; $mail->Password = "yourpassword"; $mail->CharSet = "utf-8";
$body = ''; $mail->MsgHTML($body); $mail->AltBody = "請使用支援 HTML 的郵件客戶端查看。";
$mail->SetFrom('from@domain.com', 'Sender Name');
$mail->AddReplyTo('reply@domain.com', 'Reply Name');
$mail->AddAddress($to, $nickname);
$mail->Subject = "=?UTF-8?B?".base64_encode("郵件主題")."?="; // UTF-8 主題編碼
$mail->Send();
$mail->AddAttachment("path/to/file.pdf");AddCC、AddBCC$mail->SMTPDebug = 2; 輸出詳細 SMTP 交互日誌$mail->Host = "smtp1.example.com;smtp2.example.com";mail() 無法發信問題。