почему класс phpmailer отображает текст? - PullRequest
8 голосов
/ 19 ноября 2010

когда я отправляю электронное письмо, оно повторяет много ненужных текстов, я не хочу, чтобы этот текст был распечатан. как я могу отключить этот текст.

пример:

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 () для отправки электронной почты. ??

спасибо

Ответы [ 3 ]

13 голосов
/ 19 ноября 2010

PHPMailer имеет флаг «отладки», который можно отключить.

В зависимости от используемой версии, он может иметь имя Debug или SMTPDebug.Вы узнаете это, когда увидите.Если необходимо, загляните в файл класса, чтобы узнать имя.

Установите значение false, и все в порядке.

7 голосов
/ 19 ноября 2010

По умолчанию не должно генерироваться никаких выходных данных.Убедитесь, что он не включен в оператор / функцию print / echo.

В качестве обходного пути можно использовать ob_start() в начале и ob_get_clean() в конце сценария почтовой программы, чтобы предотвратить любые выходные данные.покинуть буфер.

6 голосов
/ 23 июля 2015

Как уже упоминалось выше, это опция SMTPDebug , просто выполните:

$mail->SMTPDebug = 0;
...