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

如何通过Contact Form 7钩子为WordPress邮件添加CC/BCC

在WordPress中使用Contact Form 7钩子添加CC/BCC

你已经注册了wpcf7_before_send_mail钩子,接下来只需实现对应的回调函数dynamic_addcc,就能为邮件添加CC或BCC。以下是两种常见场景的完整代码:

场景1:添加固定CC/BCC地址

如果需要给固定邮箱发送抄送/密送,直接在函数中设置对应字段即可:

add_action( 'wpcf7_before_send_mail', 'dynamic_addcc' );
function dynamic_addcc( $contact_form ) {
    // 获取当前邮件配置对象
    $mail = $contact_form->prop( 'mail' );
    
    // 设置CC地址,多个地址用英文逗号分隔
    $mail['cc'] = 'cc1@example.com, cc2@example.com';
    // 设置BCC地址
    $mail['bcc'] = 'bcc@example.com';
    
    // 更新邮件配置
    $contact_form->set_prop( 'mail', $mail );
}

场景2:动态获取表单字段作为CC地址

如果需要将用户在表单中填写的邮箱作为CC(比如表单里有一个"抄送邮箱"字段),可以通过提交数据提取对应值:

add_action( 'wpcf7_before_send_mail', 'dynamic_addcc' );
function dynamic_addcc( $contact_form ) {
    // 获取表单提交实例
    $submission = WPCF7_Submission::get_instance();
    if ( ! $submission ) return;
    
    // 获取用户提交的所有表单数据
    $posted_data = $submission->get_posted_data();
    
    // 提取表单中名为"cc_email"的字段值(需和你的表单字段name一致)
    $user_cc = isset( $posted_data['cc_email'] ) ? $posted_data['cc_email'] : '';
    
    // 获取当前邮件配置对象
    $mail = $contact_form->prop( 'mail' );
    
    // 如果用户填写了抄送邮箱,添加到CC列表
    if ( ! empty( $user_cc ) ) {
        $mail['cc'] = $user_cc;
    }
    
    // 同时添加固定BCC地址(可选)
    $mail['bcc'] = 'admin@your-site.com';
    
    // 更新邮件配置
    $contact_form->set_prop( 'mail', $mail );
}

注意事项

  • 代码需添加到当前主题的functions.php文件,或自定义插件中
  • 表单字段的name属性要和代码中引用的名称完全匹配(比如示例中的cc_email)
  • 多个邮箱地址用英文逗号分隔,支持同时添加多个收件人

内容的提问来源于stack exchange,提问作者TheLovableType

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 12:14:56