Detectar si se envio correo (PJMail)

  • Autor Autor ZoroRoronoa
  • Fecha de inicio Fecha de inicio
Z

ZoroRoronoa

Delta
Hola amigos.

De princpio tenia el siguiente codigo:

PHP:
$content_PDF = $html2pdf->Output('', true);  
   require_once('html2pdf/pjmail/pjmail.class.php'); 
   $mail = new PJmail(); 
   $mail->setAllFrom('CORREO@CORREO', "NOMBRE APELLIDO"); 
   $mail->addrecipient('CORREO@CORREO, '.$email); 
   $mail->addsubject("Su compra en WEB WEB"); 
   $mail->text = "Su compra. Adjunto disponible en PDF"; 
   $mail->addbinattachement($pdfname.'.pdf', $content_PDF); 
   $res = $mail->sendmail();

Y me funciona perfecto, me manda un correo con un pdf adjunto.
Lo que yo quiero lograr es una condicion, si se envia el correo imprimir algo o equis funcion.

He hecho lo siguiente

PHP:
$content_PDF = $html2pdf->Output('', true);  
   require_once('html2pdf/pjmail/pjmail.class.php'); 
   $mail = new PJmail(); 
   $mail->setAllFrom('CORREO@CORREO', "NOMBRE APELLIDO"); 
   $mail->addrecipient('CORREO@CORREO, '.$email); 
   $mail->addsubject("Su compra en WEB WEB"); 
   $mail->text = "Su compra. Adjunto disponible en PDF"; 
   $mail->addbinattachement($pdfname.'.pdf', $content_PDF); 
   $res = $mail->sendmail();
   if($res) {
	echo "se envio";
   }

y tambien
PHP:
$content_PDF = $html2pdf->Output('', true);  
   require_once('html2pdf/pjmail/pjmail.class.php'); 
   $mail = new PJmail(); 
   $mail->setAllFrom('CORREO@CORREO', "NOMBRE APELLIDO"); 
   $mail->addrecipient('CORREO@CORREO, '.$email); 
   $mail->addsubject("Su compra en WEB WEB"); 
   $mail->text = "Su compra. Adjunto disponible en PDF"; 
   $mail->addbinattachement($pdfname.'.pdf', $content_PDF); 
   if($mail->sendmail()) {
	echo "se envio";
   }

Aqui lo raro, es que el mail se sigue enviando "perfectamente", pero la condicion no me la cumple, no me imprime nada, caso adverso, si pongo un else, si me imprime lo que coloco en el else.
PHP:
   if($mail->sendmail()) {
	echo "se envio";
   } else {
         echo "error";
     }

En este caso se imprime "error".
Pero lo que no entiendo, es que se sigue enviando correctamente el email.

Espero me pueda echar una mano, pues quiero lograr cumplir la condicion. :encouragement:
Gracias
 
mmm esa libreria es del 2007... podrias usar https://github.com/PHPMailer/PHPMailer que es mas nueva y se actualiza... ahora respondiendo a tu preg...
sendmail regresa null si se envio el email y el error si no se envio... tendrias que verificar si es null sendmail y eso significa que se envio el email... de lo contrario mostrar el error..
PHP:
$SE = $mail->sendmail();
if($SE == null){ echo 'enviado'; } else { echo $SE; }

con solo ver la clase te das cuenta de como funciona...
 
Atrás
Arriba