Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/03/2015, 15:48
Avatar de manyblue
manyblue
 
Fecha de Ingreso: marzo-2008
Mensajes: 329
Antigüedad: 16 años, 1 mes
Puntos: 10
Envio masivo boletines con phpmailer smtp gmail

Estoy intentando enviar correos con boletines a suscriptores con phpmailer y el smtp de gmail y me gustaría que me dierais vuestra opinión por si algo está mal.
El sistema es para tres idiomas


Dos tablas: 1) tbl_boletines y 2) tbl_suscripciones
Existe formulario previo que si es necesario lo puedo poner pero creo se sobreentiende.



<?php
// Conexion
require_once('../Connections/conex_db_teldetv.php');

if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}

// 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"];
}

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 DE MIWEB';

// 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 = 'Nombredelqueenvia';
$mail->addReplyTo('[email protected]', 'Nombredelqueenvia');
/*------------------------------------------------------------------------------------------*/
$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><br /></h5>
</div>
<?php
} else {
?>
<div class="message error">
<h5><strong>¡¡ LOS BOLETINES NO SE HAN ENVIADO CORRECTAMENTE !!</strong></h5>
</div>
<?php
}
}
mysql_free_result($ConsultaBoletines);
mysql_free_result($ConsultaSuscripciones);
?>

Muchas gracias de antemano: Manyblue

Última edición por manyblue; 05/03/2015 a las 15:54