Este pago esta relacionado con una fecha de vencimiento. La condición es que faltando 3 días, se tiene que enviar a 4 correos indicando que ya falta poco para que pague el siguiente modulo y a parte también condicionar si el alumno ha pagado o a cancelado.
Ese procedimiento lo estoy aplicando para el cron job. He creado el archivo php para que ejecute la tarea automática. El problema es que no lo ejecuta para nada el archivo.
Supongamos que hoy es 24 de febrero y tiene que enviar un mensaje de alerta a 4 correos. Faltando 3 días claro.
Esto es lo que realice.
Código PHP:
Ver original
$sqlAlertaPago = "SELECT pa. * , pc. * FROM pago_alumnos pa, pago_credito pc WHERE pa.id = pc.idpago AND pa.alumno = '$idunico' AND pc.status = 'PENDIENTE'"; // Consulto la tabla alumno preguntando a que alumno pertenece $sql_alumno = "SELECT * FROM alumno WHERE id = '$idunico'"; $fechaDB = '2015-02-24'; // Calculamos el número de segundos que tienen esos 3 días $segundos = 3 * 24 * 60 * 60; // Aun no ha caducado pero faltan menos de tres días if(($timeActual < $timeVencimiento) AND ($timeVencimiento-$timeActual < $segundos)) { echo "asdasd"; if($rowAlertaPago['status']=='PENDIENTE') { // Va a expirar en menos de 3 días // procesar el envio automatico $mail = new PHPMailer(); // defaults to using php "mail()" $mail->From = "$row_alumno[email]"; $mail->FromName = "$row_alumno[nombre]"; $mail->Subject = "American University - Alerta para el alumno ".$row_alumno['nombre'].""; $msg .= 'Sr. Percy Vieira:<br />'; $msg .= 'Le recordamos que el alumno '.$row_alumno['nombre'].' '.$row_alumno['apellido'].' tiene una fecha pendiente de pago.<br />'; $msg .= 'Gracias.'; $mail->MsgHTML($msg); $mail->IsHTML(true); $mail->Send(); } else if($rowAlertaPago['status']=='CANCELADO') { // Va a expirar en menos de 3 días echo ''; } // Aun no ha caducado y faltan más de tres días } else if(($timeActual < $timeVencimiento) AND ($timeVencimiento-$timeActual > $segundos)) { // procesar el envio automatico $mail = new PHPMailer(); // defaults to using php "mail()" $mail->From = "$row_alumno[nombre]"; $mail->FromName = "$row_alumno[email]"; $mail->Subject = "American University - Alerta para el alumno ".$row_alumno['nombre'].""; $msg .= 'Sr. Administrador:<br />'; $msg .= 'Le recordamos nuevamente que el alumno '.$row_alumno['nombre'].' '.$row_alumno['apellido'].' tiene una fecha pendiente de pago.<br />'; $msg .= 'Gracias.'; $mail->MsgHTML($msg); $mail->IsHTML(true); $mail->Send(); // Ya ha caducado, la fecha de vencimiento es anterior a la fecha actual } else if($timeActual > $timeVencimiento) { // procesar el envio automatico $mail = new PHPMailer(); // defaults to using php "mail()" $mail->From = "$row_alumno[nombre]"; $mail->FromName = "$row_alumno[email]"; $mail->Subject = "American University - Alerta para el alumno ".$row_alumno['nombre'].""; $msg .= 'Sr. Percy Vieira:<br />'; $msg .= 'Ya se le vencio la fecha de pago del alumno '.$row_alumno['nombre'].' '.$row_alumno['apellido'].'. Si el alumno ha pagado, omitir este mensaje.<br />'; $msg .= 'Gracias.'; $mail->MsgHTML($msg); $mail->IsHTML(true); $mail->Send(); // Otra situación } else { // Todavía no // echo '<div class="mensaje-alerta-2"><p>Ya cancelaste tu cuota.</p></div>'; }
Aquí publico el link de la imagen de como esta configurado el cron. Incluyendo el comando que ejecuta el archivo.
Espero que me puedan ayudar con mi problema.
Saludos.