2010-11-19 20 views
5

cuando envío un correo electrónico, echo eco de muchos textos innecesarios, no quiero que estos textos se impriman. ¿Cómo puedo deshabilitar estos textos?¿por qué la clase phpmailer hace eco de los textos?

ejemplo:

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 

estoy usando class.phpmailer.php archivo y utilizando el método $ obj.Send() para enviar correo electrónico. ??

gracias

Respuesta

9

PHPMailer tiene un indicador de "depuración" que puede desactivar.

Según la versión que esté utilizando, podría llamarse Debug o SMTPDebug. Lo sabrás cuando lo veas. Si es necesario, busque en el archivo de clase para encontrar el nombre.

Establezca eso en falso y todo está bien.

+0

Agradable. ¿Estás trabajando con esta biblioteca día a día, o tal vez tienes algunas píldoras que te ayudan a recordar largos documentos API? :) Si este último, aquí está mi dirección ... – pestaa

+0

he puesto SMTPDebug = 2, ¿es esta la causa? –

+0

@pestaa heh, por alguna razón recordé esto de depurar un servidor SMTP una vez :) –

5

Por defecto no debería generar ninguna salida. Asegúrese de que no esté envuelto en una declaración/función de impresión/eco.

Una solución podría estar utilizando ob_start() al principio y ob_get_clean() al final de su script de correo, de modo que impida que cualquier salida salga del búfer.

+1

ob_start(); $ mail-> Enviar(); ob_get_clean(); // funciona bien, gracias! – Qlimax

+0

gran respuesta !!!! – Prozi

+0

Esto funcionó para mí también. Gracias @pestaa y Qlimax –

3

Como se menciona más arriba que es la opción SMTPDebug, acaba de hacer:

$mail->SMTPDebug = 0; 
Cuestiones relacionadas