phpmailer str_多次更换
我有以下设置:phpmailer str_多次更换,php,phpmailer,Php,Phpmailer,我有以下设置: $message = file_get_contents('./site/resources/external/template.html'); $message = str_replace('[name]', $email['name'], $message); $message = str_replace('[password]', $password, $message); require './site/resources/ex
$message = file_get_contents('./site/resources/external/template.html');
$message = str_replace('[name]', $email['name'], $message);
$message = str_replace('[password]', $password, $message);
require './site/resources/external/PHPMailer/PHPMailerAutoload.php';
$mail = new PHPMailer();
$mail->SMTPSecure = 'tls';
$mail->Username = "mymail";
$mail->Password = "mypassword";
$mail->AddAddress($email);
$mail->FromName = "Marc";
$mail->CharSet = 'UTF-8';
$mail->Subject = "Din nye adgangskode";
$mail->msgHTML($message, dirname(__FILE__));
$mail->Host = "smtp.live.com";
$mail->Port = 587;
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->From = $mail->Username;
$mail->Send();
但是,当我试图发送它时,它不会发送
然而,当我这样做的时候:
但是,当我执行以下操作时:
$mail->msgHTML(str_replace('[password]', $password, file_get_contents('./site/resources/external/template.html')), dirname(__FILE__));
它发送没有问题
那么我如何才能将多个变量添加到模板中呢?虽然我不知道
$message
的变量替换是如何破坏代码的,但是有一种使用数组参数的stru replace
的多替换形式:
$mail->msgHTML(
str_replace(
array('[password]','[name]'),
array( $password, $email['name'] ),
file_get_contents('./site/resources/external/template.html')
),
dirname(__FILE__)
);
我怀疑您的代码有其他问题,但这可能很有用。“它不发送”不是一个有用的描述。到底什么是失败的?你看到了什么错误?您可以尝试使用诸如Smarty或Twig之类的模板引擎。