Estuve trabajando con notificaciones por correo, si me llegan, pero al momento de poner condiciones SQL para elegir a quién se enviará el correo, no llega, ¿qué estaré haciendo mal?
Mi código:
Código PHP:
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
$insertSQL = sprintf("INSERT INTO publicar (imagen, De, Usuario, Semestre, Grupo, Especialidad, Turno, Asunto, Describir, Fecha) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
GetSQLValueString($_POST['imagen'], "text"),
GetSQLValueString($_POST['De'], "text"),
GetSQLValueString($_POST['usuario'], "text"),
GetSQLValueString($_POST['Semestre'], "text"),
GetSQLValueString($_POST['Grupo'], "text"),
GetSQLValueString($_POST['Especialidad'], "text"),
GetSQLValueString($_POST['Turno'], "text"),
GetSQLValueString($_POST['Asunto'], "text"),
GetSQLValueString($_POST['Describir'], "text"),
GetSQLValueString($_POST['fecha'], "text"));
mysql_select_db($database_Cetis, $Cetis);
$query_correo = "SELECT especialidad, turno, grupo, semestre FROM alumnos WHERE especialidad = '".$_POST['Especialidad']."' AND turno = '".$_POST['Turno']."' AND grupo = '".$_POST['Grupo']."' AND semestre = '".$_POST['Semestre']."'";
$correo = mysql_query($query_correo, $Cetis) or die(mysql_error());
$row_correo = mysql_fetch_assoc($correo);
$totalRows_correo = mysql_num_rows($correo);
require("phpmailer/class.phpmailer.php");
$mail = new PHPMailer();
// ---------- adjust these lines ---------------------------------------
$mail->Username = "*******@gmail.com"; // your GMail user name
$mail->Password = "*********";
$mail->AddAddress($totalRows_correo); // recipients email
$mail->FromName = "PAM"; // readable name
$mail->Subject = "".$_POST['De']." hizo una publicación para tu grupo.";
$mail->Body = "El maestro ".$_POST['De']." ha publicado algo para tu grupo. ¿Por qué no entras a PAM y lo revisas? \n\n\n Asunto de la publicación: ".$_POST['Asunto']." \n\n\n - Grupo de desarrollo de PAM. \n\n\n\n Plataforma de Ayuda para Maestros.";
//-----------------------------------------------------------------------
$mail->Host = "ssl://smtp.gmail.com"; // GMail
$mail->Port = 465;
$mail->IsSMTP(); // use SMTP
$mail->SMTPAuth = true; // turn on SMTP authentication
$mail->From = $mail->Username;
if(!$mail->Send()){
echo "Mailer Error: " . $mail->ErrorInfo;
}
else{
echo "Se envió correctamente.";
}
mysql_select_db($database_Cetis, $Cetis);
$Result1 = mysql_query($insertSQL, $Cetis) or die(mysql_error());
$insertGoTo = "Publicacion_exitosa.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
Pues en realidad no sé en qué esté mal, si quito la parte del remitente y le pongo un correo, sí me llega, pero no cuando quiero que se mande a cierto grupo de personas :/
Gracias por su ayuda, jóvenes de FDW :)