Detectar se o e-mail foi enviado (PJMail)

  • Autor Autor ZoroRoronoa
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
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
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
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...
 
Voltar
Topo