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

PHP邮件表单问题:如何在邮件内容中添加Name字段信息

修复后的PHP邮件表单代码

原代码有两个明显问题:一是数组访问的语法错误,二是没正确拼接名称和消息内容。按下面修改就能实现需求:

修改后的完整代码

<?php
// 检查是否同时提交了名称和消息内容
if(isset($_POST["Name"]) && isset($_POST["message"]) && !empty($_POST["Name"]) && !empty($_POST["message"])) {
    // 拼接邮件内容,按要求包含名称格式
    $emailContent = "Name: " . $_POST["Name"] . "\n\n" . $_POST["message"];
    // 设置邮件头,避免被当作垃圾邮件
    $headers = "From: " . $_POST["Name"] . "<noreply@yourdomain.com>" . "\r\n" .
               "Reply-To: " . $_POST["email"]; // 如果表单有邮箱字段可以保留,没有就注释掉
    
    // 发送邮件
    mail("myemailadress@gmail.com", "Haar van Shar contact formulier", $emailContent, $headers);
}
?>

关键修改点说明

  • 修正了$_POST数组的访问语法:原代码里的$_POST"Name"["message"]是错误写法,正确应该用$_POST["Name"]获取用户输入的名称,$_POST["message"]获取消息内容。
  • 新增了字段非空判断:避免用户空提交导致发送空邮件。
  • 拼接了符合要求的邮件内容:用\n\n分隔名称和消息,让邮件格式更清晰易读。
  • 添加了邮件头:指定发件人和回复邮箱,能降低邮件被标记为垃圾邮件的概率,也方便你直接回复用户。

额外注意事项

  • 确保你的HTML表单里,输入名称的输入框name属性是"Name",消息输入框的name属性是"message",否则无法正确获取用户输入的值。
  • 如果你的服务器mail()函数经常失效或者邮件容易进垃圾箱,建议用PHPMailer这类专业的邮件发送库,稳定性和兼容性更好。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 02:15:38