You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何移除WordPress站点Fluent Form的自定义邮件抄送规则

可能的规则存储位置及排查方案

一、站点文件层面(优先级最高,你卸载重装插件问题依旧,说明代码不在Fluent Form插件目录内)

  • 检查wp-content/mu-plugins目录:该目录下的PHP文件无需后台启用就会自动执行,是自定义代码常用的藏匿位置,把所有非官方默认的文件先重命名备份,测试抄送问题是否消失
  • 检查当前激活主题/子主题目录下的functions.php文件:搜索以下关键词:fluentform、stripe、抄送、CC、BCC、前开发的邮箱地址前缀/后缀
  • 全局扫描wp-content/uploads目录:该目录通常拥有写入权限,开发可能在此处藏匿了独立的自定义PHP文件,通过钩子注入到WordPress执行流程中,可全局搜索目录内所有PHP文件的内容,匹配上述关键词
  • 整个站点PHP文件全局搜索:搜索Fluent Form Stripe支付相关的钩子关键词,比如fluentform_before_stripe_process、fluentform_payment_completed、fluentform_email_header、wp_mail,这类钩子是注入抄送逻辑的常用入口

二、数据库层面

你直接搜索明文邮箱无结果,大概率是因为配置以序列化数组形式存储,直接匹配完整字符串无法命中:

  • 打开wp_fluentform_forms表,查看对应表单的form或settings字段,将字段值反序列化后逐一排查是否有隐藏的抄送邮箱配置
  • 打开wp_options表,搜索option_name包含fluentform、stripe的记录,同样将option_value反序列化后排查
  • 可尝试搜索邮箱的部分片段(比如@前面的用户名、@后面的域名),避免序列化格式导致的匹配失败

三、临时解决方案

如果暂时找不到代码位置,可先在主题functions.php中添加以下代码强制拦截发往该邮箱的抄送:

add_filter( 'wp_mail', function( $args ) {
    $target_email = '替换为前开发的邮箱地址';
    // 清理收件人
    if ( is_array( $args['to'] ) ) {
        $args['to'] = array_filter( $args['to'], function( $email ) use ( $target_email ) {
            return trim( $email ) !== $target_email;
        } );
    } else {
        if ( trim( $args['to'] ) === $target_email ) {
            $args['to'] = '';
        }
    }
    // 清理抄送
    if ( isset( $args['headers'] ) ) {
        if ( ! is_array( $args['headers'] ) ) {
            $args['headers'] = explode( "\n", $args['headers'] );
        }
        $args['headers'] = array_filter( $args['headers'], function( $header ) use ( $target_email ) {
            return stripos( $header, 'Cc:' ) === false || stripos( $header, $target_email ) === false;
        } );
    }
    return $args;
} );

内容的提问来源于stack exchange,提问作者Брент Скофeлд

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 05:06:03