有没有办法在phpmailer中取消设置或删除msgHTML/view模板



我有一个带有电子邮件表单响应的网站。我需要在点击时发送2封电子邮件,并且正在使用瘦框架、msgHTML和trick。我通过一个条件设置了trick模板,为第一封电子邮件显示该模板的一部分,为另一封电子邮件显示另一部分。不要工作,因为第一封电子邮件正文已添加到第二封。

因此,我创建了两个phpmailer实例来发送两个单独的twitch模板,但出现了相同的错误,它在最后一封电子邮件正文中添加了这两个模板。

有没有办法取消设置msgHTML消息或视图?

$mailu = new PHPMailer; $maila = new PHPMailer;
$mailu->isHTML(true); $maila->isHTML(true);
$mailu->isSMTP(); $maila->isSMTP();
$mailu->Host = 'XXX'; $maila->Host = 'XXX';
$mailu->Port = 587; $maila->Port = 587;
$mailu->SMTPAuth = true; $maila->SMTPAuth = true;
$mailu->SMTPSecure = 'tls'; $maila->SMTPSecure = 'tls';
$mailu->Username = 'XXX; $maila->Username = 'XXX';
$mailu->Password = 'XXX'; $maila->Password = 'XXX';
$mailu->SMTPDebug = 0; $maila->SMTPDebug = 0;
$mailu->setLanguage('es'); $maila->setLanguage('es');
$mailu->CharSet="utf-8"; $maila->CharSet="utf-8";
$mailu->clearCustomHeaders(); $maila->clearCustomHeaders();
$mailu->Subject = $subject; $maila->Subject = $subject;
$marrayu = array('user'=>true, 'name'=>$name, 'email'=>$email, 'subject'=>$subject, 'message'=>$message, 'phone'=>$phone);
$mailu->msgHTML($this->view->render($response, 'templates/mailu.twig', array( "marray" => $marrayu )));
$mailu->setFrom($domainmail, 'NMV');
$mailu->addAddress($email, $name);
$mailu->addReplyTo($domainmail, 'NMV');
$mailu->send();
$marraya = array('user'=>false, 'name'=>$name, 'email'=>$email, 'subject'=>$subject, 'message'=>$message, 'phone'=>$phone);
$maila->msgHTML($this->view->render($response, 'templates/maila.twig', array( "marray" => $marraya )));
$maila->setFrom($email, $name);
$maila->addAddress($domainmail,'NMV');
$maila->send();
return $this->response->withStatus(200)->withHeader('Location',  $anchor);

有什么建议吗?

msgHTML确实覆盖了Body属性,而新实例无法保留另一个实例的主体,因此我将进一步查找原因。

然而,你可以像这样清除任何现有的主体:

$mail->Body = ‘’;
$mail->AltBody = ‘’;

我在这个后Slim框架和PHPmailer 的电子邮件模板呈现问题中找到了答案

正如我所料,一切都很好,但视图假设渲染是连接的,所以将其更改为fetch也很有用,因为我得到了HTTP/1.1 200 OK Content Type:text.html;charset=电子邮件顶部的UTF-8标头。

谢谢你的帮助。

最新更新