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

GoDaddy主机PHP mail函数报HTTP 500及邮件发送问题求助

问题排查与解决

一、先修复HTTP 500错误(代码语法问题)

你的代码里有两个明显的语法错误,直接触发了500报错:

  • 变量名拼写错误:$headers = "From: $form"; 中的$form应为$from,你定义的发件人变量是$from,写错变量名会导致PHP致命错误
  • 语句缺少分号:最后一行echo "Email NOT sent" 末尾没有加分号,PHP要求所有语句必须以分号结尾,这也是语法错误的原因之一

修正后的代码:

<?php

$to = "shayankanwal667@gmail.com";
$subject = "Test mail";
$message = "Hi This is  a test email you received from server";
$from = "clientsupport@shayankanwal.com";
$headers = "From: $from";
if(mail($to,$subject,$message,$headers)){
    echo "Email sent";
}else{
    echo "Email NOT sent";
}

?>

二、GoDaddy主机使用PHP mail函数的额外注意事项

即便修复语法错误,GoDaddy对邮件发送有特定限制,需留意:

  • 发件人邮箱必须是GoDaddy托管域名下的有效邮箱,比如你用的clientsupport@shayankanwal.com,要先在GoDaddy后台创建并激活该邮箱
  • 部分GoDaddy主机需要在控制面板手动启用邮件发送功能,或检查php.ini中的sendmail_path配置是否正确
  • 若仍有问题,可在代码开头添加以下代码开启错误显示,以便查看具体报错信息:
    error_reporting(E_ALL);
    ini_set('display_errors', 1);
    

三、PHP mail函数与SSL证书的关系

PHP mail函数本身不需要SSL证书,它调用服务器本地的邮件传输代理(如sendmail)发送邮件,默认通过非加密的25端口投递。只有当服务器的邮件传输代理需要通过SSL/TLS连接目标邮箱服务器时,才需要在代理层面配置SSL,这和PHP mail函数本身无关。GoDaddy默认的邮件传输代理一般已配置好基础投递通道,无需额外设置SSL。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 01:35:22