是的,PHP郵件發送可以自定義模板。您可以使用PHP的內置函數mail()
或者第三方庫如PHPMailer來創建和發送帶有自定義模板的電子郵件。以下是使用mail()
函數的一個示例:
email_template.html
):<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{subject}}</title>
</head>
<body>
<h1>{{greeting}}</h1>
<p>{{message}}</p>
</body>
</html>
在這個模板中,{{subject}}
、{{greeting}}
和{{message}}
是占位符,您可以在發送郵件時用實際數據替換它們。
mail()
函數發送帶有自定義模板的電子郵件:<?php
// 郵件接收者
$to = 'recipient@example.com';
// 郵件主題
$subject = '您的訂單確認';
// 郵件內容
$message = '親愛的用戶,<br><br>感謝您購買我們的產品。<br><br>祝您生活愉快!';
// 替換模板中的占位符
$subject_template = 'email_template.html';
$template_parts = explode('{{', $subject);
$subject = str_replace(array('{{' . $template_parts[1] . '}}'), array($subject), $template_parts[0]);
$message_template = file_get_contents($subject_template);
$message = str_replace(array('{{subject}}', '{{greeting}}', '{{message}}'), array($subject, '您好', $message), $message_template);
// 發送郵件
if (mail($to, $subject, $message)) {
echo '郵件發送成功!';
} else {
echo '郵件發送失敗!';
}
?>
在這個示例中,我們首先讀取HTML模板文件,然后使用str_replace()
函數替換模板中的占位符。最后,我們使用mail()
函數發送帶有自定義內容的電子郵件。
請注意,這種方法可能不適用于所有郵件客戶端,因為某些客戶端可能無法正確解析HTML內容。如果您需要更高級的功能和更好的兼容性,建議使用PHPMailer等第三方庫。