Craft - 动态添加电子邮件收件人错误

Craft - Dynamically adding email recipients error

目前正在努力将电子邮件收件人动态添加到我的 Craft Contact Form。我当前的设置完全遵循联系表上的说明 github。

在我的表单中添加了以下行:

<input type="hidden" name="toEmail" value="{{ 'me@example.com'|hash }}" />

我在 config/contact-form.php 中添加了以下内容:

<?php

$config = [];
$request = Craft::$app->request;

if (
    !$request->getIsConsoleRequest() &&
    ($toEmail = $request->getValidatedBodyParam('toEmail')) !== null
) {
    $config['toEmail'] = $toEmail;
}

return $config;

我得到的错误是:

HTTP 400 - Request contained an invalid body param

toEmail 字段正在进入 contact-form.php 它似乎在验证时失败了?每当我将输入字段的名称更改为 name="toEmailxxx" 时,它都会将其正确发送到 CMS 设置中设置的电子邮件。

我该如何解决这个问题?

我想这就是你要找的:

然后在您的 craft/config/contact-form.php 配置文件中,您需要添加一些逻辑:

<?php
namespace Craft;

$toEmail = craft()->request->getPost('toEmail');
$toEmail = craft()->security->validateData($toEmail);

return array(
    'toEmail' => ($toEmail ?: null),
    //.....