【问题标题】:Hide or not print messages from server隐藏或不打印来自服务器的消息
【发布时间】:2017-01-09 17:46:38
【问题描述】:

我有一个从我的服务器发送邮件的脚本。此脚本在验证和清理所提供的详细信息后启动。每次发送邮件时网站上都会显示以下内容:

SMTP -> FROM SERVER:220-sg2plcpnl0187.prod.sin2.secureserver.net ESMTP Exim 4.87 #1 Thu, 01 Sep 2016 10:57:21 -0700 220-我们不授权 使用该系统运输未经请求的 220 和/或散装 电子邮件。 SMTP -> 从服务器: 250-sg2plcpnl0187.prod.sin2.secureserver.net 你好 ip-166-62-27-191.ip.secureserver.net [166.62.27.191] 250-SIZE 52428800 250-8BITMIME 250-流水线 250-AUTH 普通登录 250-STARTTLS 250 帮助 SMTP -> FROM SERVER:250 OK SMTP -> FROM SERVER:250 接受 SMTP -> FROM SERVER:354 输入消息,以“.”结尾单独在一条线上 SMTP -> FROM SERVER:250 OK id=1bfWEs-001FfR-22

我正在使用 phpmailer。我查看了其中一个类文件(该文件是 class.smptp.php ,由 phpmailer 编写并包含在邮件发送脚本中),发现这些消息是从脚本中回显的。

注释掉文件中的每一行是一项乏味的任务。我也不希望用户看到这么长且不相关的消息。应该怎么做?

【问题讨论】:

  • 发布代码也许你正在使用带有'debug on'的PHPMailer
  • 如果您在 phpMailer 中启用了调试,您应该只会看到类似的内容。
  • 你的意思是class.smtp.php吗?

标签: php email phpmailer


【解决方案1】:

更改此行(假设您使用的是 SMTP);

$mail->SMTPDebug = 2;

到

$mail->SMTPDebug = 0;

PHPMailer 有一段代码,您可以在其中设置调试消息的类型以及输出。例如:

//Enable SMTP debugging
// 0 = off (for production use)
// 1 = client messages
// 2 = client and server messages
$mail->SMTPDebug = 2;

//Ask for HTML-friendly debug output
$mail->Debugoutput = 'html';

第一行设置消息的级别,第二行说明如何提供输出。

【讨论】:

    【解决方案2】:

    寻找...

    $mail->SMTPDebug = X;  
    

    将 X 设置为零,或简单地注释掉该行

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-25
      • 2016-03-16
      • 1970-01-01
      • 2020-06-18
      • 2019-04-21
      • 2011-09-05
      • 2018-05-10
      相关资源
      最近更新 更多