2) Tengo un sistema de envio de boletines a suscriptores, boletines solo se envía uno a a todos los suscriptores de un idioma determinado.
Formulario de selección y envio
http://www.mbmultiservicios.com/imagenes/2.png
Este formulario va a una pagina de envío send_mail_boletines.php cuyo código ahora mismo es este:
Código PHP:
<?php
ini_set("display_errors",1);
// Viene del formulario - Idioma Boletin: 1 Español, 2 English, 3 Deutsch
$varIdiomaBoletin = "0";
if (isset($_GET["idioma"])) {
$varIdiomaBoletin = $_GET["idioma"];
}
$varNombreBoletin = "0";
if (isset($_GET["nombre_boletin"])) {
$varNombreBoletin = $_GET["nombre_boletin"];
}
// Viene del formulario - Idioma Suscripcion: 1 Español, 2 English, 3 Deutsch
$varIdiomaSuscripcion = "0";
if (isset($_GET["idioma_suscripcion"])) {
$varIdiomaSuscripcion = $_GET["idioma_suscripcion"];
}
// Viene del formulario - $varEnviarSuscripcion = 1 - Enviar
$varEnviarSuscripcion = "0";
if (isset($_GET["enviar_suscripcion"])) {
$varEnviarSuscripcion = $_GET["enviar_suscripcion"];
}
echo $varIdiomaBoletin."<br />";
echo $varNombreBoletin."<br />";
echo $varIdiomaSuscripcion."<br />";
echo $varEnviarSuscripcion;
mysql_select_db($database_conex_db_teldetv, $conex_db_teldetv);
$query_ConsultaBoletines = "SELECT * FROM tbl_boletin WHERE tbl_boletin.idioma = '%".$varIdiomaBoletin."%' AND tbl_boletin.idioma = '%".$varNombreBoletin."%'";
$ConsultaBoletines = mysql_query($query_ConsultaBoletines, $conex_db_teldetv) or die(mysql_error());
$row_ConsultaBoletines = mysql_fetch_assoc($ConsultaBoletines);
$totalRows_ConsultaBoletines = mysql_num_rows($ConsultaBoletines);
mysql_select_db($database_conex_db_teldetv, $conex_db_teldetv);
$query_ConsultaSuscripciones = "SELECT * FROM tbl_suscripciones WHERE tbl_suscripciones.idioma_suscripcion = '%".$varIdiomaSuscripcion."%' AND tbl_suscripciones.enviar_suscripcion = '%".$varEnviarSuscripcion."%'";
$ConsultaSuscripciones = mysql_query($query_ConsultaSuscripciones, $conex_db_teldetv) or die(mysql_error());
$row_ConsultaSuscripciones = mysql_fetch_assoc($ConsultaSuscripciones);
$totalRows_ConsultaSuscripciones = mysql_num_rows($ConsultaSuscripciones);
while ($array_ConsultaSuscripciones = mysql_fetch_array($ConsultaSuscripciones))
{
// Adquirimos las variables
$dia=date("d-m-Y");
$hora=date("H:i:s");
$nombre = $array_ConsultaSuscripciones["nombre_suscripcion"];
$email = $array_ConsultaSuscripciones["email_suscripcion"];
$asunto = 'BOLETIN NOVA INFORMÁTICA';
// Idioma Boletin: 1 Español, 2 English, 3 Deutsch
if ($row_ConsultaBoletines['idioma'] = 1):
$body = "Estimado: $nombre, este boletín ha sido enviado el: $dia a las: $hora horas.<br /><br />".$row_ConsultaBoletines['codigo_boletin'];
elseif ($row_ConsultaBoletines['idioma'] = 2):
$body = "Dear: $nombre, this newsletter has been sent: $dia at: $hora hours.<br /><br />".$row_ConsultaBoletines['codigo_boletin_in'];
elseif ($row_ConsultaBoletines['idioma'] = 3):
$body = "Liebe: $nombre, dieser Newsletter wurde gesendet: $dia um: $hora Uhr.<br /><br />".$row_ConsultaBoletines['codigo_boletin_al'];
endif;
/*--------------------------------------------------------------------------------------------*/
require_once('../includes/PHPMailer/class.phpmailer.php');
include('../includes/PHPMailer/class.smtp.php');
/*------------------------------------------------------------------------------------------*/
$mail = new PHPMailer();
$mail->setLanguage('es');
/*------------------------------------------------------------------------------------------*/
$mail->From = "[email protected]";
$mail->FromName = "Nombre";
$mail->addReplyTo('[email protected]', 'Nombre');
/*------------------------------------------------------------------------------------------*/
$host = 'smtp.gmail.com';
$username = '[email protected]';
$password = 'mipass';
$port = 587;
$secure = 'tls';
/*------------------------------------------------------------------------------------------*/
$mail->isSMTP();
$mail->Host = $host;
$mail->SMTPAuth = true;
$mail->Username = $username;
$mail->Password = $password;
$mail->Port = $port;
$mail->SMTPSecure = $secure;
/*------------------------------------------------------------------------------------------*/
$mail->addAddress($email, $nombre);
/*------------------------------------------------------------------------------------------*/
$mail->isHTML(true);
$mail->CharSet = 'utf-8';
$mail->setWordWrap = 70;
/*------------------------------------------------------------------------------------------*/
$mail->Subject = $asunto;
$mail->Body = $body;
//$mail->MsgHTML($body);
$mail->AltBody = $body;
/*------------------------------------------------------------------------------------------*/
if($mail->Send()) {
?>
<div class="message success">
<h5><strong>¡¡ LOS BOLETINES SE HAN ENVIADO CORRECTAMENTE !!</strong></h5>
</div>
<?php
} else {
?>
<div class="message error">
<h5><strong>¡¡ LOS BOLETINES NO SE HAN ENVIADO CORRECTAMENTE !!</strong></h5>
</div>
<?php
}
}
?>
Al enviar los correos sale esto:
http://www.mbmultiservicios.com/imagenes/3.png
Pero deberia mostar:
http://www.mbmultiservicios.com/imagenes/4.png
Además no se envian los boletine.
Ahora mismo solo tengo en DB dos suscriptores por lo que no debería haber problemas con gmail.
No se si me he explicado bien.
gracias de antemano: manyblue