Gracias por vuestra atención. Estoy realizando un proyecto en el cual necesito crear una página de mantenimiento en la cual se verifique una serie de datos mediante llamadas a una base de datos, y en función de las condiciones especificadas enviar un e-mail al usuario.
El código es el siguiente:
Código PHP:
//Texto común a todos los mails
$boundary = "==MP_Bound_xyccr948x==";
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/plain; charset=ISO-8859-1;";
$headers .= "Content-Transfer-Encoding: 8bit\r\n" .
$headers .= "boundary = $boundary\"\r\n";
$headers .= "From: [email protected]\r\n";
$fecha_hoy = date('Y-m-d');
$fecha_unix_hoy = strtotime($fecha_hoy);
$sql3 = "SELECT * FROM usuarios WHERE fechaInicio <> '0000-00-00' AND estado_usuario=1 AND fechaClave = '0000-00-00'";
$rs3 = runQuery($sql3);
$filas_noclave = mysql_num_rows($rs3);
if ($filas_noclave <> 0){
$asunto = "Aviso XXX. Elección fecha clave.";
while($row = mysql_fetch_assoc($rs3)){
echo $id = $row['id'];
echo $nombre = $row['nombre'];
$apellidos = $row['apellidos'];
$destinatario = $row['email'];
$fecha_inicio = $row['fechaInicio'];
$fecha_inicio_unix = strtotime($fecha_inicio);
$fecha_inicio_elegir_fechaclave_uno_unix = $fecha_inicio_unix + (24*3600);
$fecha_inicio_elegir_fechaclave_descarte_unix = $fecha_inicio_unix +(2*24*3600);
//Comprobación si ha pasado un día desde el primer logueo
if ($fecha_inicio_elegir_fechaclave_uno_unix == $fecha_unix_hoy){
$mensaje .= "Estimado/a ".$nombre." ".$apellidos.", \n";
$mensaje .= "Este correo es para avisarle que hoy mismo debe seleccionar su fecha clave, sino será descartado para poder realizarlo.";
mail($destinatario,$asunto,$mensaje,$headers);
} elseif ($fecha_inicio_elegir_fechaclave_descarte_unix == $fecha_unix_hoy){
//Comprobación si han pasado dos días y se descarta el usuario
$mensaje .= "Estimado/a ".$nombre." ".$apellidos.", \n";
$mensaje .= "Este correo es para comunicarle que todavía no ha elegido su fecha clave. Al haber superado el tiempo limite para poder elegir su fecha clave ha sido descartado para poder realizarlo.";
mail($destinatario,$asunto,$mensaje,$headers);
//Actualización del estado del usuario en la base de datos
$sql = "UPDATE usuarios SET estado_usuario = 5 WHERE id = '$id'";
$rs = runQuery($sql);
}
}
echo '<p>Emails enviados a usuarios que han sido aceptados, se han logueado pero no han elegido el día D: OK.</p>';
} else {
echo Usuarios que han sido aceptados, se han logueado pero no han elegido el día D: OK.</p>;
}
Código HTML:
Estimado/a xxx xxx, Este correo es para avisarle que hoy mismo debe seleccionar su fecha clave, sino será descartado para poder realizarlo. Estimado/a xxx xxx, Este correo es para avisarle que hoy mismo debe seleccionar su fecha clave, sino será descartado para poder realizarlo.
Millones de gracias,
Kailea.