基本上我试图这样做
http://www.xeweb.net/2009/12/31/sending-emails-the-right-way-using-phpmailer-and-email-templates/
这是我的代码
的index.PHP
<?PHP include('class.PHPmailer.PHP'); // Retrieve the email template required $message = file_get_contents('mail_templates/sample_mail.html'); $message = str_replace('%testusername%',$username,$message); $message = str_replace('%testpassword%',$password,$message); $mail = new PHPMailer(); $mail->IsSMTP(); // This is the SMTP mail server $mail->SMTPSecure = 'tls'; $mail->Host = "smtp.gmail.com"; $mail->Port = 587; $mail->SMTPAuth = true; $mail->Username = 'mygmailid@gmail.com'; $mail->Password = 'mypassword'; $mail->SetFrom('fromgmail@gmail.com','Pricol Technologies'); $mail->AddAddress('addaddress@gmail.com'); $mail->Subject = 'Your account information'; $mail->MsgHTML($message); $mail->IsHTML(true); $mail->CharSet="utf-8"; //$mail->AltBody(strip_tags($message)); if(!$mail->Send()) { echo "Mailer Error: " . $mail->ErrorInfo; } ?>
mail_templates / sample_mail.html
<html> <body> <h1>Account Details</h1> <p>Thank you for registering on our site,your account details are as follows:<br> Username: %username%<br> Password: %password% </p> </body> </html>
我收到邮件如下:
Account Details Thank you for registering on our site,your account details are as follows: Username: %testusername% Password: %testpassword%
预期产量
Account Details Thank you for registering on our site,your account details are as follows: Username: testusername Password: testpassword
我哪里错了我已经检查过一些论坛.但没有用.
我以前问过一些问题.但是我的项目要求是使用%变量名%的HTML模板,以便任何人都可以在html文件中进行更改,而不用触摸代码部分.
其中两件事不像别人那样
$message = str_replace('%testusername%',$message); $message = str_replace('%testpassword%',$message); ^^^^---note "test" <p>Thank you for registering on our site,your account details are as follows:<br> Username: %username%<br> Password: %password% </p> ^---note the LACK of "test"
您的脚本正常工作,这是一个PEBKAC问题…