8

当我发送电子邮件时,它会回显许多不必要的文本,我不希望这些文本被打印出来。我怎样才能禁用这些文本。

例子:

SMTP -> FROM SERVER:220 mx.google.com ESMTP p1sm1037082ybn.17
SMTP -> FROM SERVER: 250-mx.google.com at your service, [xxx.xxx.xxx.xxx] 250-SIZE 35651584 250-8BITMIME 250-AUTH LOGIN PLAIN XOAUTH 250 ENHANCEDSTATUSCODES
SMTP -> FROM SERVER:250 2.1.0 OK p1sm1037082ybn.17
SMTP -> FROM SERVER:250 2.1.5 OK p1sm1037082ybn.17
SMTP -> FROM SERVER:354 Go ahead p1sm1037082ybn.17
SMTP -> FROM SERVER:250 2.0.0 OK 1290167720 p1sm1037082ybn.17

我正在使用 class.phpmailer.php 文件并使用 $obj.Send() 方法发送电子邮件。??

谢谢

4

4 回答 4

16

PHPMailer 有一个可以关闭的“调试”标志。

根据您使用的版本,它可能被命名为DebugSMTPDebug. 当你看到它时你就会知道。如有必要,请查看类文件以找出名称。

将其设置为 false,一切都很好。

于 2010-11-19T12:11:36.703 回答
7

默认情况下,它不应该生成任何输出。确保它没有包含在 print/echo 语句/函数中。

可以在邮件脚本ob_start()的开头和ob_get_clean()结尾使用一种解决方法,以防止任何输出离开缓冲区。

于 2010-11-19T12:09:38.907 回答
7

如上所述,它是SMTPDebug选项,只需执行以下操作:

$mail->SMTPDebug = 0;
于 2015-07-23T16:18:52.927 回答
1

如果您从官方 PHPMailer github 页面的示例中选择整个配置集,则只需删除/注释掉这一行:-

 $mail->SMTPDebug = SMTP::DEBUG_SERVER;   
于 2020-02-22T11:34:10.690 回答