0

好的,所以我正在从页面上的联系表单中给出的值构建一个 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 可能不是字符串吗?

4

0 回答 0