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

PHP Notice: Undefined variable: message报错修复求助,联系表单无法发件

联系表单邮件发送故障修复方案

问题现象

错误日志出现如下提示,表单无法发送任何邮件:

PHP Notice:  Undefined variable: message in .../send-email.php on line 25

问题原因

代码第25行使用$message .= "Email from: " . $name . "<br />";拼接邮件内容时,$message变量未提前初始化。PHP要求变量必须先定义才能进行操作,未定义的变量直接执行拼接会触发Notice错误,同时导致邮件内容为空,最终发送失败。

修复后的完整代码

<?php

// Replace this with your own email address
$to = 'contact@mysite.co';

function url(){
  return sprintf(
    "%s://%s",
    isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off' ? 'https' : 'http',
    $_SERVER['SERVER_NAME']
  );
}

if($_POST) {

   $name = trim(stripslashes($_POST['name']));
   $email = trim(stripslashes($_POST['email']));
   $subject = trim(stripslashes($_POST['subject']));
   $contact_message = trim(stripslashes($_POST['message']));

   
    if ($subject == '') { $subject = "Contact Form Submission"; }

   // 初始化message变量,解决未定义问题
   $message = '';
   // Set Message
   $message .= "Email from: " . $name . "<br />";
    $message .= "Email address: " . $email . "<br />";
   $message .= "Message: <br />";
   $message .= nl2br($contact_message);
   $message .= "<br /> ----- <br /> This email was sent from your site " . url() . " contact form. <br />";

   // Set From: header
   $from =  $name . " <" . $email . ">";

   // Email Headers
    $headers = "From: " . $from . "\r\n";
    $headers .= "Reply-To: ". $email . "\r\n";
    $headers .= "MIME-Version: 1.0\r\n";
    $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";

   ini_set("sendmail_from", $to); // for windows server
   $mail = mail($to, $subject, $message, $headers);

    if ($mail) { echo "OK"; }
   else { echo "Something went wrong. Please try again."; }

}

?>

关键修复点

在// Set Message注释上方添加$message = '';,初始化邮件内容变量,确保后续的字符串拼接操作有合法的变量基础。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 08:22:47