好的,所以我正在从页面上的联系表单中给出的值构建一个 html 电子邮件。设置代码的方式是,您提交联系表单,后端获取所有提交的值,将它们转换为数组,然后将它们发送到构建 html 电子邮件的方法。该方法返回电子邮件的所有 html,然后我们将其粘贴到$message
变量中以与 PHP 邮件程序一起使用。
我已经在系统上进行了一些登录,试图找出问题所在,但没有成功。如果我记录构建 html 电子邮件的方法的输出,它确实会正确返回 html。但是,返回的值没有在变量中设置。这就是我的意思:
由方法的返回值设置的变量:
$message = Email::returnView('email/formSubmission', $emailData);
方法内的代码:
public static function returnView($view, $data=null)
{
$viewloc = BASE_PATH . "views/{$view}.view";
if (file_exists($viewloc)) {
ob_start();
require($viewloc);
flushblocks();
return ob_get_clean();
} else {
throw new Exception("View not found: {$view}.view");
}
}
记录 的输出可ob_get_clean()
提供正确的数据,以便正确返回。即使当我登录时,我也会Email::returnView('email/formSubmission', $emailData)
得到正确的 html 数据。这是该方法返回的数据:
<html>
<head>
<title>Form Submission</title>
</head>
<body style="margin: 0">
<p>
Name: Full Name<br/>
phone: 555-555-5555<br/>
email: test@example.com<br/>
comments: test<br/>
</p>
</body>
</html>
但是,当我尝试记录$message
它是空的。它不工作是因为 html 可能不是字符串吗?