2010-11-19 2 views
5

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

пример:

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

спасибо

ответ

9

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

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

Установите это значение false, и все будет хорошо.

+0

Nice. Вы работаете с этой библиотекой изо дня в день, или, может быть, у вас есть таблетки, которые помогут вам запомнить длинные документы API? :) Если последнее, вот мой адрес ... – pestaa

+0

Я поставил SMTPDebug = 2, это причина? –

+0

@pestaa хех, по какой-то причине я вспомнил это от отладки SMTP-сервера один раз :) –

5

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

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

+1

ob_start(); $ Mail-> Send(); ob_get_clean(); // хорошо работает, спасибо! – Qlimax

+0

отличный ответ !!!! – Prozi

+0

Это сработало и для меня. Спасибо @pestaa и Qlimax –

3

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

$mail->SMTPDebug = 0; 
Смежные вопросы