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

Contact Form 7附加邮件(2)无法添加附件问题求助

Contact Form 7 附加邮件无法添加附件的原因及解决办法

常见原因

  • CF7默认会在主邮件发送后清理临时上传文件,导致附加邮件调用时文件已被删除
  • 多数CF7上传插件仅适配主邮件的发送钩子(如wpcf7_mail_sent),未处理附加邮件的专属钩子(如wpcf7_mail_sent_2)
  • 附加邮件的附件字段配置存在隐性错误,比如标签拼写不一致,或未使用插件要求的格式

解决步骤

1. 自定义代码保留临时文件并重传

在主题的functions.php中添加以下代码,手动拦截并保留上传文件,再传递给附加邮件:

add_action('wpcf7_before_send_mail', 'cf7_save_attachments_for_second_mail');
function cf7_save_attachments_for_second_mail($contact_form) {
    $submission = WPCF7_Submission::get_instance();
    if ($submission) {
        $GLOBALS['cf7_uploaded_files'] = $submission->uploaded_files();
    }
}

add_action('wpcf7_mail_sent_2', 'cf7_attach_files_to_second_mail');
function cf7_attach_files_to_second_mail($contact_form) {
    if (isset($GLOBALS['cf7_uploaded_files'])) {
        $submission = WPCF7_Submission::get_instance();
        if ($submission) {
            $mail = $contact_form->prop('mail_2');
            $attachments = [];
            foreach ($GLOBALS['cf7_uploaded_files'] as $file_path) {
                if (file_exists($file_path)) {
                    $attachments[] = $file_path;
                }
            }
            $mail['attachments'] = $attachments;
            $contact_form->set_prop('mail_2', $mail);
            
            // 发送后清理临时文件,避免服务器占用
            add_action('shutdown', function() use ($attachments) {
                foreach ($attachments as $file) {
                    if (file_exists($file)) {
                        unlink($file);
                    }
                }
            });
        }
    }
}

注意:如果你的附加邮件是「邮件(3)」,请把代码中的mail_2和wpcf7_mail_sent_2替换为mail_3和wpcf7_mail_sent_3。

2. 验证附加邮件的附件配置

进入CF7表单设置的「邮件(2)」标签,确保附件输入框中的标签和主邮件完全一致,比如主邮件用[your-file],附加邮件也必须是同一个标签。部分插件要求使用原始路径格式,可尝试改为[your-file:raw]。

3. 排查插件冲突

暂时禁用除CF7和上传插件外的所有插件,测试附加邮件是否能正常携带附件。如果恢复正常,再逐个启用插件,找出冲突的那个并调整设置或更换插件。

4. 确认插件兼容性

检查上传插件的文档或更新日志,确认是否明确支持CF7的多邮件功能。如果插件未适配,可尝试更新到最新版本,或更换更兼容的同类插件。

内容的提问来源于stack exchange,提问作者lirik-1

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 14:53:19