【问题标题】:Form sending not working anymore [closed]表单发送不再起作用[关闭]
【发布时间】:2014-07-07 19:09:17
【问题描述】:

我已将我的网站从该地址移至该地址

两者均由 OVH.com 托管

问题是现在我的表单不再发送,您可以尝试在屏幕底部的联系表单中输入一些内容,然后单击发送(您会收到绿色的 OK 消息,但该消息不会通过)。

我认为这可以链接到 .htaccess 但它们的设置方式相同:

SetEnv PHP_VER 5_3

SetEnv REGISTER_GLOBALS 0

知道问题是什么吗?我怀疑这可能是 htaccess 的问题。有人知道如何检查php版本吗? 编辑: PHP 看起来不错,5.3 正在运行,正如预期的那样

PHP

<?php
// Email Submit
// Note: filter_var() requires PHP >= 5.2.0
if ( isset($_POST['email']) && isset($_POST['name']) && isset($_POST['message']) && filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) ) {

  // detect & prevent header injections
  $test = "/(content-type|bcc:|cc:|to:)/i";
  foreach ( $_POST as $key => $val ) {
    if ( preg_match( $test, $val ) ) {
      exit;
    }
  }

  //send email
 mail( "dfds@fds.com", "Nouveau message de: ".$_POST['name'], $_POST['message']."\nDepuis la page: ". str_replace("http://", "", $_SERVER['HTTP_REFERER']), "From:" . $_POST['email'] . "\r\n" . "BCC: gdsfdsri@gmail.com" );

}
?>

【问题讨论】:

  • 不。而且由于您没有在此处提供任何代码或任何有用的详细信息,因此我们无法为您提供真正的帮助。
  • 我刚刚尝试了表单,它似乎发布 jsut 很好。得到绿条,得到 AJAX 发送请求到 sendmessage.php 与 POST fields: email asdf@asd.com message asdf name asdf
  • 感谢 DJDarkViber。是的,不确定它是绿色的,但它不起作用。当我从旧域发送消息时,我会立即收到它,这里根本没有。此外,如果您尝试此页面上的时事通讯goo.gl/cZgzqq,它会给您一条消息,指出该电子邮件无效,这是不正确的(当时事通讯脚本不起作用时也会发生此消息)
  • 新域上的 SMTP 配置怎么样?你需要编辑你的问题,因为那里没有提到问题,不清楚是没有发送表格还是没有发送电子邮件
  • 不确定...有没有办法比较两者的设置? (即通过在线工具)?

标签: javascript php jquery forms .htaccess


【解决方案1】:

我会首先检查您的 mail() 命令是否有效。我敢打赌它不会。如果没有,则表单本身不是一个因素 - 您需要查看新服务器上是否安装了 postfix/其他东西。

【讨论】:

  • 我刚刚尝试过这个,我收到一条成功消息,但我的收件箱中没有任何内容...(当然我已经用我的电子邮件地址替换了 email@example)邮件发送成功!"); } else { echo("

    消息传递失败...

    "); } ?>
  • 我相信成功可能意味着它被交给了postfix,但这并不意味着postfix正在积极处理工作。我隐约记得很多个月前没有安装邮件守护程序时收到成功消息。我会搜索不同的 SO 线程,了解如何验证是否设置了邮件服务器。当你移动服务器时,你还记得配置它吗?你可能想看看stackoverflow.com/questions/8803994/…
  • 谢谢。我没有配置它,这是在 OVH.com 上购买的基本主机。有没有办法让我自己比较两种设置(有效的和无效的)?谢谢
  • 按照wycks.wordpress.com/2013/10/09/… 中的建议,我会在旧服务器和新服务器上运行“echo”This is a test." | mail -s Testing someone@example.com" 并比较结果。链接的文章也有解决的建议。您的托管服务提供商有 sudo 访问权限吗?
  • 谢谢。我不确定是否理解您文章中的说明。我只需要像这样将回声线放在我的身体标签上?没有php标签? echo "这是一个测试。" | mail -s 测试某人@example.com
猜你喜欢
  • 2014-07-05
  • 2021-05-20
  • 2022-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-17
  • 2016-12-08
相关资源
最近更新 更多