Código PHP:
<?php
if(isset($_GET["id_mail"])){
$id_mail_send = $_GET["id_mail"];
}
else{
header("Location:index.php");
}
include("conexion.php");
include("funciones.php");
$con=conexion();
$sql_dir="SELECT * FROM dbo.BITACORA_ALERTAS_MAIL where status != 3 and status != 4 and id_mail =".$id_mail_send;
$res_dir=sqlsrv_query($con,$sql_dir);
if($res_dir['status']==3){
header("Location:index.php");
}
$v_id_eci = "";
$sql2="update dbo.BITACORA_ALERTAS_MAIL set status=2 where id_mail=".$id_mail_send;
$f_dir=sqlsrv_fetch_array($res_dir);
if(!isset($f_dir['status'])){
header("Location:index.php");
}
$estatus = $f_dir['status'];
$direcciones = explode(",",$f_dir['direcciones']);
$asunto =htmlspecialchars( $f_dir["asunto"]);
$mensaje = $f_dir["mensaje"];
/* variables para mail */
require "phpmailer/PHPMailerAutoload.php";
require "phpmailer/class.phpmailer.php";
$mail = new PHPMailer;
//indico a la clase que use SMTP
$mail->IsSMTP();
//permite modo debug para ver mensajes de las cosas que van ocurriendo
//$mail->SMTPDebug = 2;
//Debo de hacer autenticación SMTP
$mail->SMTPAuth = true;
$mail->SMTPSecure = "ssl";
//indico el servidor de Gmail para SMTP
$mail->Host = "smtp.gmail.com";
//indico el puerto que usa Gmail
$mail->Port = 465;
//indico un usuario / clave de un usuario de gmail
$mail->Username = "[email protected]";
$mail->Password = "password";
$mail->From = "[email protected]";
$mail->FromName = "Alertas";
$mail->Subject = $asunto;
$sql_anexos="SELECT
dbo.ANEXOS_ECI.id_eci,
dbo.ANEXOS_ECI.tipo,
dbo.ANEXOS_ECI.extension,
dbo.ANEXOS_ECI.anexo,
dbo.BITACORA_ALERTAS_MAIL.id_eci AS id_eci_bitacora,
dbo.BITACORA_ALERTAS_MAIL.id_mail,
dbo.BITACORA_ALERTAS_MAIL.direcciones
FROM
dbo.ANEXOS_ECI INNER JOIN dbo.BITACORA_ALERTAS_MAIL ON dbo.ANEXOS_ECI.id_eci = dbo.BITACORA_ALERTAS_MAIL.id_eci
WHERE
dbo.ANEXOS_ECI.anexo IS NOT NULL AND dbo.BITACORA_ALERTAS_MAIL.id_mail =".$id_mail_send;
$res_anexos=sqlsrv_query($con,$sql_anexos);
$agregar=1;
while($f_anexos=sqlsrv_fetch_array($res_anexos))
{
if ($f_anexos['tipo'] == "IMAGEN")
{
$anexo= $f_anexos['anexo'];
$extension=$f_anexos['extension'];
$nombre="IMAGEN".$agregar;
//Guarda archivos en una carpeta del servidor
file_put_contents("../siec_mail/temp/$nombre.$extension", $anexo);
$mail->AddAttachment("../siec_mail/temp/$nombre.$extension", "$nombre.$extension");
}
elseif ($f_anexos['tipo']=="DOCUMENTO")
{
$anexo= $f_anexos['anexo'];
$extension=$f_anexos['extension'];
$nombre="DOCUMENTO".$agregar;
//Guarda archivos en una carpeta del servidor
file_put_contents("../siec_mail/temp/$nombre.$extension", $anexo);
$mail->AddAttachment("../siec_mail/temp/$nombre.$extension", "$nombre.$extension");
}
$agregar++;
}
/* variables del correo */
$pos=0;
$nom = "";
$correo="";
while(isset($direcciones[$pos])){
$correo = $direcciones[$pos];
$pos++;
$nom = $direcciones[$pos];
$mail->addAddress($correo, $nom);
$mail->AddCC($correo, $nom);
//echo "Mail: ".$correo." Nombre: ".$nom."<br>";
$pos++;
}
$mail->MsgHTML($mensaje);
if($mail->Send()){
echo "En hora buena el mensaje ha sido enviado con exito a ";
$sql2="update dbo.BITACORA_ALERTAS_MAIL set status=3 where id_mail=".$id_mail_send;
$res2=sqlsrv_query($con,$sql2);
$sql3="update dbo.BITACORA_ALERTAS_MAIL set hora_env='".hora()."', fecha_env='".fecha()."' where id_mail=".$id_mail_send;
$res3=sqlsrv_query($con,$sql3);
header("Location:index.php?err=2");
}
else{
if($estatus==1){
$sql2="update dbo.BITACORA_ALERTAS_MAIL set status = 4 where id_mail=".$id_mail_send;
$res2=sqlsrv_query($con,$sql2);
header("Location:enviar2.php?id_mail=".$id_mail_send);
}
header("Location:enviar2.php?id_mail=".$id_mail_send);
}
?>