phpmailer在发送电子邮件时打印一长串详细信息(CLIENT -> SERVER)

js5cn81o  于 2023-05-21  发布在  PHP
关注(0)|答案(4)|浏览(304)

我有一个脚本与PHPMailer工作。
当我运行它发送电子邮件时,PHPMailer成功发送了电子邮件。

但也回显电子邮件发送信息的长列表(客户端->服务器),如:

SERVER -> CLIENT: 220-server.mywebsitese.com ESMTP Exim 4.84 #2 Tue, 27 Jan 2015 08:37:57 +0200 220-We do not authorize the use of this system to transport unsolicited, 220 and/or bulk e-mail.
CLIENT -> SERVER: EHLO www.mywebsite.com
SERVER -> CLIENT: 250-server.mywebsite.com Hello server.mywebsite.com [xx.xxx.xx.xx]250-SIZE 52428800250-8B9uLITMIME250-PIPELINING250-AUTH PLAIN LOGIN250-STARTTLS250 HELP
CLIENT -> SERVER: AUTH LOGIN
SERVER -> CLIENT: 334 VXNlcm5h9uLbWU6
CLIENT -> SERVER: bm9yZXBseUBsZWJh9uLbm9uLWxvdHRvLmNvbQ==
SERVER -> CLIENT: 334 UGFzc39uLdvcmQ6
.
.
.
.Very
.
.
.Long
.
.
.List of SERVER -> CLIENT / CLIENT SERVER
.
Message sent!

脚本激活人:

if (!$mail->send()) {
            echo "Mailer Error: " . $mail->ErrorInfo;
            } else {
            echo "Message sent!";

我真正想要的是只发送电子邮件,打印消息发送,不需要这个长长的名单。
这容易做到吗?
谢谢

1yjd4xko

1yjd4xko1#

这似乎是调试信息。在创建PHPMailer的示例之后,尝试通过将SMTPDebug设置为0来禁用调试:

$mail = new PHPMailer();
$mail->SMTPDebug = 0;
wwwo4jvm

wwwo4jvm2#

使用$mail->SMTPDebug = 0;,它为我工作!

v1l68za4

v1l68za43#

PHPMailer有4个调试级别。调试以0结束。

***SMTP::DEBUG_OFF(0):**禁用调试(也可以完全不使用,默认为0)。
***SMTP::DEBUG_CLIENT(1):**输出客户端发送的消息。
***SMTP::DEBUG_SERVER(2):**为1,加上从服务器收到的响应(这是最有用的设置)。
***SMTP::DEBUG_CONNECTION(3):**为2,加上初始连接的详细信息-此级别可以帮助诊断STARTTLS故障。
***SMTP::DEBUG_LOWLEVEL(4):**为3,加上更低级的信息,非常冗长,不用于调试SMTP,只用于低级问题。

更详细的信息可以查看PHPMailer的官方github账号。

mkh04yzy

mkh04yzy4#

$mail->SMTPDebug = 0;这对我的剧本很有用。

相关问题