我有一个脚本与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!";
我真正想要的是只发送电子邮件,打印消息发送,不需要这个长长的名单。
这容易做到吗?
谢谢
4条答案
按热度按时间1yjd4xko1#
这似乎是调试信息。在创建
PHPMailer
的示例之后,尝试通过将SMTPDebug
设置为0
来禁用调试:wwwo4jvm2#
使用
$mail->SMTPDebug = 0;
,它为我工作!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账号。
mkh04yzy4#
$mail->SMTPDebug = 0;这对我的剧本很有用。