Server Recaptcha取代Formmail';s";电邮;带有我的服务器地址的(发件人)字段。没有Recaptcha,从现场开始工作很好。为什么?

Server Recaptcha取代Formmail';s";电邮;带有我的服务器地址的(发件人)字段。没有Recaptcha,从现场开始工作很好。为什么?,server,recaptcha,captcha,invisible-recaptcha,formmail,Server,Recaptcha,Captcha,Invisible Recaptcha,Formmail,我已经使用Tecite Formmail.php很多年了。最后添加了Recaptcha版本2(不可见模式)。它可以正常工作,只是它会弄乱派生\u字段电子邮件字符串。如果没有验证码,结果电子邮件的From字段正确地包含填写我表格的人的姓名和电子邮件地址,这是从“realname”和“email”派生的值 e、 拉尔夫·瓦尔多这是一种不寻常的行为 我怀疑您的HTML中存在语法错误,这导致表单提交受损 您应该在处验证您的HTML。您是否可以添加一个实现和表单的片段,以便我们帮助调试?我很乐意这样做,但

我已经使用Tecite Formmail.php很多年了。最后添加了Recaptcha版本2(不可见模式)。它可以正常工作,只是它会弄乱派生\u字段电子邮件字符串。如果没有验证码,结果电子邮件的From字段正确地包含填写我表格的人的姓名和电子邮件地址,这是从“realname”和“email”派生的值


e、 拉尔夫·瓦尔多这是一种不寻常的行为

我怀疑您的HTML中存在语法错误,这导致表单提交受损


您应该在

处验证您的HTML。您是否可以添加一个实现和表单的片段,以便我们帮助调试?我很乐意这样做,但必须先多花点时间将其匿名化。事实上,问题不在于形式,也不在于实施。在我启用Recaptcha之前,它工作得很好,而且代码也是标准的。有一件事我忘了提到(直到我编辑时),那就是它是不可见的。因此,如果不按照Tecite的指示进行一些笨拙的测试,或者减少表单滥用事件,我就无法知道验证码是否真的有效。但是表单照常工作,只是邮件头的From字段出现了这种异常。
SNIPPETS, PER REQUEST:

In web page header:
<!-- CAPTCHA Ver2 Invisible  -->
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
<script>
    function onSubmit(token) {
        document.getElementById("Contact_Form").submit();
    }
</script>
<!-- end CAPTCHA -->  
In web page HTML
<form id="Contact_Form" action="https://www.example.com/formmail.php" method="post" name="Formtype 1">
<input name="good_url" value="https://www.example.com/tnxpg.html" type="hidden" />
<INPUT NAME="subject" TYPE="hidden" VALUE="~~FORM RECEIVED - Main mail form">
<!-- OTHER INFO TO APPEAR IN EMAIL -->
<input type="hidden"  name="form_version" value="Visitor used Main Form">
<input type="hidden" name="mail_options" value="FromAddr=formmssg1@example.com" />

<!-- DON'T CHANGE THE FOLLOWING ... EXCEPT put actual field names after equals signs. -->
<!-- this derives (creates) "email" and "realname" special fields from the input fields -->
<input type="hidden" name="derive_fields" value="email=EmailAddr,realname=FullName" />

<!-- DON'T CHANGE THE FOLLOWING! -->
    <!-- this excludes the "email" and "realname" special fields from the body of the email you receive -->
    <input type="hidden" name="mail_options" value="Exclude=email;realname" >
<input name="env_report" value="REMOTE_HOST,REMOTE_ADDR,HTTP_USER_AGENT,AUTH_TYPE,REMOTE_USER" type="hidden" />

* * *

<input type="hidden" name="derive_fields" value="imgverify=g-recaptcha-response" />

<!-- with this simple Submit tag and the private key removed from Formmail.php, results email From is correct -->
<!--
<input type="submit" value=" Send message ">
-->

<input type="submit" value=" Send Message " class="g-recaptcha" data-callback="onSubmit" data-sitekey="PublicKeyGoesHere" / >
In formmail.php:

/* Help: http://www.tectite.com/fmdoc/require_captcha.php */
//// DO NOT USE CAPTCHA
//// $REQUIRE_CAPTCHA = ""; /* set to a message string if your forms */
//// USE CAPTCHA
$REQUIRE_CAPTCHA = "Confirm you are not a robot."; 
/* set to a message string if your forms must provide a CAPTCHA string*/

/* Help: http://www.tectite.com/fmdoc/recaptcha_private_key.php */
//// DO NOT USE CAPTCHA
//$RECAPTCHA_PRIVATE_KEY = "";
//// USE CAPTCHA
$RECAPTCHA_PRIVATE_KEY = "myprivatekeygoeshere";