¡Hola de nuevo!
Verán, estoy con esto de los correos y quiero que cuando un profesor publique algo a cierto grupo, por ejemplo; 5° A Especialidad Programación Turno Matutino, que se envíe a los alumnos registrados en ese mismo grado, grupo, especialidad y turno. Usé este 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")) {
mysql_query("SET NAMES 'utf8'");
$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"));
$correo = "SELECT correo_al FROM alumnos WHERE semestre = ".$_POST['Semestre']." AND grupo = ".$_POST['Grupo']." AND turno = ".$_POST['Turno']." AND especialidad =".$_POST['Especialidad']."";
require("phpmailer/class.phpmailer.php");
$mail = new PHPMailer();
// ---------- adjust these lines ---------------------------------------
$mail->Username = "******************@gmail.com"; // Mi cuenta de Gmail
$mail->Password = "************"; // Mi contraseña
$mail->AddAddress($correo); // Variable correo
$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 "<script>
alert('Una notificación por correo ha sido enviada.');
</script>";
}
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));
}
Como verán, la variable
$correo contiene comandos SQL para que busque los correos del Grupo, Grado, Especialidad y Turno ingresados al publicar.
Pero no me quiere mandar nada, y ya me cansé de buscar...
¿Alguna ayuda?
¡Gracias por su tiempo!