Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /*
- * Sinopsis : En esta función colocamos los datos que se enviarán.
- * El resultado que regresa es una consulta del total de datos a enviar.
- */
- set_time_limit(0);
- require_once('../lib/utilerias.php');
- require_once('globales.php');
- include('lib/mailer/class.phpmailer.php');
- include('lib/mailer/class.smtp.php');
- $asunto = $_POST['xasunto'];
- $adjunto = $_POST['xadjunto'];
- $idTbroperacion = 0;
- $xDatAcceso = new manejoDatos();
- $xDatAcceso->setOStrServer($strHost);
- $xDatAcceso->setOStrUsuario($strUsuario);
- $xDatAcceso->setOStrContrasena($strPass);
- $xDatAcceso->conectaDB($strBase);
- $xDatSP = clone $xDatAcceso;
- //Buscamos los datos datos para enviar, como el tipo de Servidor y contraseña de la cuenta origen:
- $consulta = "SELECT servidor, puerto, usuario, contrasena, seguridad FROM catcuentas WHERE idCatcuentas=".$_POST['idCatcuentas'];
- $xDatAcceso->EjecutaConsultaDB($consulta);
- $xDatAcceso->LeeRegistrosDB();
- if ($xDatAcceso->OIntNumRegistros!=0){
- $cuentas = array('servidor'=>$xDatAcceso->ArregloRegistros['servidor'], 'puerto'=>$xDatAcceso->ArregloRegistros['puerto'],
- 'usuario'=>$xDatAcceso->ArregloRegistros['usuario'], 'contrasena'=>$xDatAcceso->ArregloRegistros['contrasena'],
- 'seguridad'=>$xDatAcceso->ArregloRegistros['seguridad'], 'email'=>$xDatAcceso->ArregloRegistros['email'],
- 'nombre'=>$xDatAcceso->ArregloRegistros['nombreDespliegue']);
- $xDatAcceso->LeeRegistrosDB();
- //ya se leyeron los datos, ahora necesitamos el dato del template
- $consulta = "SELECT archivo FROM cattemplates WHERE idCattemplates=".$_POST['idCattemplates'];
- $xDatAcceso->EjecutaConsultaDB($consulta);
- $xDatAcceso->LeeRegistrosDB();
- if ($xDatAcceso->OIntNumRegistros!=0){
- $template = $xDatAcceso->ArregloRegistros['archivo'];
- //Si hubo templates, ahora procedemos a verificar quienes están en la lista.
- $consulta = "SELECT email, nombre FROM catdestinatarios WHERE catlistas_idCatlistas = ".$_POST['idCatlistas'];
- $xDatAcceso->EjecutaConsultaDB($consulta);
- $xDatAcceso->LeeRegistrosDB();
- if($xDatAcceso->OIntNumRegistros!=0){
- //Ahora procedemos a ir enviando uno por uno los mensajes.
- while(!$xDatAcceso->getOBolEOF()){
- $xemail = $xDatAcceso->ArregloRegistros['email'];
- $xnombre = $xDatAcceso->ArregloRegistros['nombre'];
- //Aquí debe ir la parte propiamente del envío y su consecuente respuesta
- $body = file_get_contents($template);
- $mail = new PHPMailer();
- $mail->IsSMTP();
- $mail->SMTPAuth = true;
- $mail->SMTPSecure = $cuentas['seguridad'];
- $mail->Host = $cuentas['servidor'];
- $mail->Port = $cuentas['puerto'];
- $mail->Username = $cuentas['usuario'];
- $mail->Password = $cuentas['contrasena'];
- $mail->From = $cuentas['email'];
- $mail->FromName = $cuentas['nombre'];
- $mail->Subject = $asunto;
- $mail->Body = $body;
- if($adjunto!='-'){
- $mail->AddAttachment($adjunto);
- }
- $mail->AddAddress($xemail,$xnombre);
- $mail->IsHTML(true);
- if(!$mail->Send()){
- $envio = true;
- $resultado = 'Er';
- } else {
- $envio = false;
- $resultado = 'Ok';
- }
- //Ya tenemos la respuesta, ahora procedemos a escribir los resultados en la operación.
- //Dependiendo del valor de envío, procedemos a realizar la insercción de los datos.
- $consultaSP = "call insertatbroperacion('".$_POST['fecha']."',".$_POST['idCatcuentas'].", ".$_POST['idCatlistas'].", ".$_POST['idCattemplates'].",".$_POST['idCatusuarios'].",'".$xemail."','".$resultado."',".$idTbroperacion.", '".$asunto."')";
- $xDatSP->EjecutaConsultaDB($consultaSP);
- $xDatSP->LeeRegistrosDB();
- if($xDatSP->getOIntError!=0){
- $idTbroperacion = $xDatSP->ArregloRegistros['idTbroperacion'];
- $datos[] = array('respuesta'=>$idTbroperacion);
- } else {
- $datos[] = array('respuesta'=>$consultaSP);
- }
- //Esta debe ser la última línea del while
- $xDatAcceso->LeeRegistrosDB();
- }
- } else {
- $datos[] = array('numRegistros'=>0);
- }
- } else {
- $datos[] = array('numRegistros'=>0);
- }
- } else {
- $datos[] =array('numRegistros'=>0, 'iteracion'=>$iteracion);
- }
- echo json_encode($datos);
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement