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

集成CKEditor与PHPMailer后邮件正文为空的问题求助

解决CKEditor替换后PHPMailer邮件正文为空的问题

常见原因及解决步骤:

  • 前端未同步CKEditor内容到表单
    CKEditor是JS渲染的富文本编辑器,默认不会自动把编辑内容同步到对应的textarea。解决方法:

    • 若是CKEditor 4,给表单绑定提交事件手动同步:
      document.getElementById('你的表单ID').onsubmit = function() {
          // 替换为你的CKEditor实例ID
          CKEDITOR.instances.editor.updateElement();
      };
      
    • 若是CKEditor 5,用以下代码实现同步:
      ClassicEditor
          .create(document.querySelector('#你的编辑器ID'))
          .then(editor => {
              document.getElementById('你的表单ID').addEventListener('submit', function() {
                  editor.updateSourceElement();
              });
          })
          .catch(error => {
              console.error(error);
          });
      
  • 前后端字段名不匹配
    检查前端textarea的name属性(比如<textarea name="mail_content" id="editor"></textarea>),后端send_mail.php里必须用$_POST['mail_content']获取内容,确保字段名完全一致。

  • 后端错误过滤内容
    若后端对正文做了strip_tags()这类强过滤,会直接清空HTML内容。如果需要保留富文本格式,不要做此类过滤,同时在PHPMailer中开启HTML模式:

    $mail->isHTML(true); // 开启HTML邮件模式
    $mail->Body = $_POST['mail_content']; // 直接赋值富文本内容
    
  • 调试确认数据传输
    在send_mail.php开头加调试代码,确认是否接收到表单数据:

    var_dump($_POST); // 查看所有POST数据
    exit;
    

    提交表单后查看输出,若无正文字段则重点排查前端同步问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 03:20:43