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

GoDaddy主机使用PHPMailer发送邮件成功但未进入Gmail收件箱

GoDaddy主机PHPMailer发邮件到Gmail收不到的解决办法

直接给你梳理问题和对应的解决步骤,都是针对GoDaddy近期配置变化和Gmail反垃圾规则来的:

一、修改PHPMailer代码关键参数

你的代码里几个参数不符合当前GoDaddy的要求,直接调整:

  1. 开启SMTP认证:你填了cPanel邮箱的账号密码,但SMTPAuth设为false等于白填,GoDaddy现在本地SMTP也需要认证,改成:
    $mail->SMTPAuth = true;
    
  2. 启用加密并更换端口:端口25现在基本被多数服务商限制或标记为不安全,Gmail也拒收未加密邮件,改成TLS加密+587端口:
    $mail->SMTPSecure = 'tls';
    $mail->Port = 587;
    
  3. 指定正确的SMTP主机:别用localhost,直接用GoDaddy为你的域名分配的邮件服务器,比如mail.yourdomain.com(把yourdomain换成你的实际域名):
    $mail->Host = "mail.yourdomain.com";
    
  4. 完善发件人信息:只填邮箱会触发Gmail垃圾检测,加上发件人名称:
    $mail->SetFrom("my_mail@yourdomain.com", "你的网站名称/发件人姓名");
    

修改后的完整代码示例:

$mail = new PHPMailer(); 
$mail->IsSMTP(); 
$mail->SMTPAuth = true; 
$mail->SMTPSecure = 'tls'; 
$mail->Host = "mail.yourdomain.com"; // 替换为你的域名邮件服务器
$mail->Port = 587; 
$mail->IsHTML(true);
$mail->CharSet = 'UTF-8';
$mail->SMTPDebug = 3; 

$mail->Username = "my_mail@yourdomain.com"; // 填完整的cPanel邮箱地址
$mail->Password = "my_pass";// cPanel邮箱的密码
$mail->SetFrom("my_mail@yourdomain.com", "你的发件人名称");

$mail->Subject = "subject";
$mail->Body = $content; 

$mail->AddAddress($email);
if(!$mail->Send()){
    echo $mail->ErrorInfo;
}else{
echo "sent";
}

二、配置GoDaddy邮件认证(关键!)

光改代码还不够,GoDaddy主机的邮件必须通过DKIM/SPF认证,否则Gmail直接丢垃圾或拒收:

  • 登录cPanel,找到电子邮件板块的DKIM管理器,选中你的域名,点击“启用”,系统会自动生成DKIM记录并配置到DNS里
  • 同样在cPanel里找SPF记录,确保你的域名SPF记录包含include:secureserver.net(GoDaddy邮件服务器标识),如果没有就添加,最终SPF记录类似:v=spf1 a mx include:secureserver.net ~all
  • 可选配置DMARC记录:在DNS里添加一条TXT记录,主机名填_dmarc,内容填v=DMARC1; p=none; sp=none; rua=mailto:dmarc@yourdomain.com;,用来监控邮件认证状态

三、Gmail端排查

  1. 先检查垃圾邮件文件夹,大概率被归类到这里了
  2. 查看Gmail里的已阻止的发件人列表,确认没被误阻止
  3. 打开收到的邮件(哪怕在垃圾里),点击右上角三个点→显示原始内容,查看DKIM-Signature和SPF字段的状态,确认是否显示“pass”

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 08:05:19