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

无需插件在WordPress中用wp_mail发邮件遇500错误求助

WordPress中wp_mail函数触发500错误的排查与修复

核心错误定位

你的mail.php里调用wp_mail时用了未定义的$body变量,这会直接触发PHP致命错误,导致500状态码——你只获取了$mensaje变量,但没把它赋值给$body。

修复后的完整代码

修正后的mail.php代码

<?php
// 确认wp-load.php路径正确,根据实际目录层级调整
require_once('../../../../wp-load.php');

// 开发环境开启错误调试,上线后请注释掉
error_reporting(E_ALL);
ini_set('display_errors', 1);

if (isset($_POST['submitted'])) {
    // 过滤用户输入,避免XSS和注入风险
    $nombre = sanitize_text_field($_POST['nombre']);
    $email = sanitize_email($_POST['email']);
    $asunto = sanitize_text_field($_POST['asunto']);
    $mensaje = wp_kses_post($_POST['mensaje']);

    $from = 'info@tuweb.es';
    $emailTo = $from; // 接收邮件的邮箱,可按需修改

    // 构建邮件内容
    $body = "Nombre: $nombre\n";
    $body .= "Email: $email\n";
    $body .= "Asunto: $asunto\n";
    $body .= "Mensaje:\n$mensaje";

    // 修正Headers格式,移除可能引发服务器限制的Sender字段
    $headers = array(
        "Content-Type: text/plain; charset=UTF-8", // 若需HTML邮件,改为text/html并确保内容合法
        "From: Tuwebeconomica.es <$from>",
        "Reply-To: $nombre <$email>"
    );

    // 发送邮件并判断结果
    $mailSent = wp_mail($emailTo, 'Nuevo mensaje de contacto desde tuweb.es', $body, $headers);

    if ($mailSent) {
        // 用WordPress函数重定向,更规范
        wp_redirect(add_query_arg('success', 'true', wp_get_referer()));
        exit;
    } else {
        // 发送失败的处理逻辑
        wp_redirect(add_query_arg('error', 'true', wp_get_referer()));
        exit;
    }
}

关键修改说明

  • 补全$body变量:把用户提交的表单字段拼接成邮件内容,解决未定义变量的致命错误。
  • 输入安全过滤:用WordPress内置函数过滤用户输入,避免恶意代码注入。
  • Headers优化:移除可能被服务器拦截的Sender头部,确保每个头部格式符合邮件规范。
  • 重定向优化:用wp_redirect和wp_get_referer替代原生PHP方法,更适配WordPress环境,避免路径问题。
  • 调试辅助:添加错误输出代码(仅开发环境用),方便排查后续问题。

额外排查点

  1. 验证wp-load.php路径:可以用var_dump(file_exists('../../../../wp-load.php'));检查文件是否存在,路径不对也会触发500错误。
  2. 服务器邮件配置:虽然之前mail()可用,但wp_mail依赖PHP的邮件配置,可在WordPress后台「设置-常规」里检查发件人邮箱设置。
  3. 文件权限检查:确保mail.php所在目录权限正确,避免PHP无法读取wp-load.php或执行邮件发送操作。

内容的提问来源于stack exchange,提问作者Javier Muñoz Sánchez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 05:45:43