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

PHPMailer表单提交成功却输出SMTP调试信息问题咨询

解决PHPMailer提交表单时显示SMTP调试信息的问题

问题描述

使用PHPMailer处理表单数据并发送邮件到Gmail,邮件发送成功,但提交表单后页面除了显示成功提示,还会输出完整的SMTP交互调试信息,示例如下:

Error: 2024-03-01 13:49:23 SERVER -> CLIENT: 220 smtp.gmail.com ESMTP t15-20020a05600c128f00b0041290cd9483sm8333199wmd.28 - gsmtp
2024-03-01 13:49:23 CLIENT -> SERVER: EHLO localhost
2024-03-01 13:49:23 SERVER -> CLIENT: 250-smtp.gmail.com at your service, [94.204.18.156]250-SIZE 35882577250-8BITMIME250-AUTH LOGIN PLAIN XOAUTH2 PLAIN-CLIENTTOKEN OAUTHBEARER XOAUTH250-ENHANCEDSTATUSCODES250-PIPELINING250-CHUNKING250 SMTPUTF8
2024-03-01 13:49:23 CLIENT -> SERVER: AUTH LOGIN
2024-03-01 13:49:23 SERVER -> CLIENT: 334 VXNlcm5hbWU6
2024-03-01 13:49:23 CLIENT -> SERVER: [credentials hidden]
2024-03-01 13:49:23 SERVER -> CLIENT: 334 UGFzc3dvcmQ6
2024-03-01 13:49:23 CLIENT -> SERVER: [credentials hidden]
2024-03-01 13:49:23 SERVER -> CLIENT: 235 2.7.0 Accepted
2024-03-01 13:49:23 CLIENT -> SERVER: MAIL FROM:<hevedym@mailinator.com>
2024-03-01 13:49:23 SERVER -> CLIENT: 250 2.1.0 OK t15-20020a05600c128f00b0041290cd9483sm8333199wmd.28 - gsmtp
2024-03-01 13:49:23 CLIENT -> SERVER: RCPT TO:<mail@email.com>
2024-03-01 13:49:24 SERVER -> CLIENT: 250 2.1.5 OK t15-20020a05600c128f00b0041290cd9483sm8333199wmd.28 - gsmtp
2024-03-01 13:49:24 CLIENT -> SERVER: DATA
2024-03-01 13:49:24 SERVER -> CLIENT: 354 Go ahead t15-20020a05600c128f00b0041290cd9483sm8333199wmd.28 - gsmtp
2024-03-01 13:49:24 CLIENT -> SERVER: Date: Fri, 1 Mar 2024 14:49:22 +0100
2024-03-01 13:49:24 CLIENT -> SERVER: To: "Admin@Tech" <mail@email.com>
2024-03-01 13:49:24 CLIENT -> SERVER: From: Tech Site Form <hevedym@mailinator.com>
2024-03-01 13:49:24 CLIENT -> SERVER: Subject: Contact Form Submission
2024-03-01 13:49:24 CLIENT -> SERVER: Message-ID: <yohFiOOx4dHFSoXEuNMC6Z7096yWAogVn4jdpkEdM@localhost>
2024-03-01 13:49:24 CLIENT -> SERVER: X-Mailer: PHPMailer 6.9.1 (https://github.com/PHPMailer/PHPMailer)
2024-03-01 13:49:24 CLIENT -> SERVER: MIME-Version: 1.0
2024-03-01 13:49:24 CLIENT -> SERVER: Content-Type: text/html; charset=iso-8859-1
2024-03-01 13:49:24 CLIENT -> SERVER:
2024-03-01 13:49:24 CLIENT -> SERVER: Name: Jordan Wallace<br>Email: hevedym@mailinator.com<br>Subject: Blanditiis officia n<br>Message: Suscipit sunt eu et
2024-03-01 13:49:24 CLIENT -> SERVER:
2024-03-01 13:49:24 CLIENT -> SERVER: .
2024-03-01 13:49:24 SERVER -> CLIENT: 250 2.0.0 OK 1709300964 t15-20020a05600c128f00b0041290cd9483sm8333199wmd.28 - gsmtp
2024-03-01 13:49:24 CLIENT -> SERVER: QUIT
2024-03-01 13:49:25 SERVER -> CLIENT: 221 2.0.0 closing connection t15-20020a05600c128f00b0041290cd9483sm8333199wmd.28 - gsmtp
Message has been sent

解决方案

这是因为PHPMailer的SMTP调试模式处于开启状态,只需关闭调试即可:

  1. 找到你的PHPMailer初始化代码段
  2. 添加或修改SMTPDebug参数为0,关闭所有调试输出:
    // 方式1:直接设置数值
    $mail->SMTPDebug = 0;
    
    // 方式2:使用PHPMailer提供的常量(需确保引入了SMTP类)
    $mail->SMTPDebug = SMTP::DEBUG_OFF;
    

调试级别说明

PHPMailer提供4种调试级别,根据需求选择:

  • 0:关闭调试(生产环境推荐)
  • 1:仅显示客户端与服务器的消息摘要
  • 2:显示完整的SMTP交互过程(当前问题中的状态)
  • 3:显示更详细的调试信息,包括连接状态和数据包内容

另外检查代码中是否有手动输出调试信息的语句(如var_dump、echo),如果有也需要移除,确保页面只输出成功或失败提示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 02:29:55