Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ob_start();
- //aquí va mi código html para general la estructura pdf
- <?php require_once ("dompdf/dompdf_config.inc.php");
- require_once ("PHPMailer-master/src/PHPMailer.php");
- // inicio de php Mailer
- // creo el objeto phpmailer
- $mail = new PHPMailer();
- // asigno el envío por SMTP mucho más rápido y fiable
- $mail->Mailer = "smtp";
- // mi servidor requiere autentificación
- $mail->SMTPAuth = true;
- // utilizo constantes almacenadas fuera del script para darle más seguridad a los datos, aparte de así poder reutilizar los mismos
- $mail->Username = "TLS";
- $mail->Host = "smtp.live.com";
- $mail->Password = "ga700";
- $mail->From = "gaba@hotmail.com";
- $mail->FromName = "equipos";
- // aumentar el timeout es recomendable si estas en un hosting gratuito
- $mail->Timeout=30;
- // creo el objeto DOMPDF
- // final de php mailer
- // use DompdfDompdf;
- $dompdf= new DOMPDF();
- $dompdf->load_html(ob_get_clean());
- $dompdf->render();
- $pdf=$dompdf->output();
- $filename= $f['cod_cotizacion'].'-'.$f['nombreEmpresa'].'.pdf';
- $dompdf->stream($filename,array("Attachment"=> 0));
- $dompdf->setPaper('A4','landscape');
- // inicia phpmailer
- if (!$gestor = fopen($filename, 'w')) {
- echo "No se puede abrir el archivo ($filename)";
- exit;
- }
- if (fwrite($gestor, $pdf) === FALSE) {
- echo "No se puede escribir al archivo ($filename)";
- exit;
- }
- echo "Éxito, se escribió al archivo ($filename)";
- fclose($gestor);
- // las siguientes 2 lineas son imprescindibles si envias varios correos a la vez, por ejemplo dentro de un bucle while, así garantizas que solo se envíe este fichero al recipiente de correo destinatario
- $mail->ClearAllRecipients();
- $mail->ClearAttachments();
- // añado el usuario de destino y otras configuraciones
- $mail->AddAddress("gabo2cuau@gmail.com","Gabriel");
- $mail->Subject = "Prueba de phpmailer";
- $mail->Body = $dompdf;
- // nombre_adjunto es el nombre que verá el usuario cuando reciba el mail como nombre del archivo
- $mail->AddAttachment($filename,"Cotizacion.pdf");
- // texto alternativo por si el usuario no admite html
- $mail->AltBody = "Mensaje de prueba mandado con phpmailer en formato solo texto";
- $exito = $mail->Send();
- // borro el fichero real
- unlink($filename);
- if(!$exito){
- echo "Problemas enviando correo electrónico";
- echo "
- ".$mail->ErrorInfo;
- }
- else
- echo "Mensaje enviado correctamente";
- // terminaphpMailer
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement