He conseguido que me envíe los boletines a mis correos de yahoo y hotmail pero no al de gmail, primero pongo el codigo y luego explico lo que creo me está pasandome.
Código:
Código PHP :
<?php // 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 LIKE '%".$varIdiomaBoletin."%' AND tbl_boletin.idioma LIKE '%".$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 LIKE '%".$varIdiomaSuscripcion."%' AND tbl_suscripciones.enviar_suscripcion LIKE '%".$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 ($rowArray = mysql_fetch_array($ConsultaSuscripciones)) { // Adquirimos las variables $dia=date("d-m-Y"); $hora=date("H:i:s"); $asunto = $row_ConsultaBoletines['nombre_boletin']; // Idioma Boletin: 1 Español, 2 English, 3 Deutsch if ($row_ConsultaBoletines['idioma'] = 1): $body = "Este boletín ha sido enviado el: $dia a las: $hora horas.<br /><br />".$row_ConsultaBoletines['codigo_boletin']; elseif ($row_ConsultaBoletines['idioma'] = 2): $body = "This newsletter has been sent: $dia at: $hora hours.<br /><br />".$row_ConsultaBoletines['codigo_boletin_in']; elseif ($row_ConsultaBoletines['idioma'] = 3): $body = "Dieser Newsletter wurde gesendet: $dia um: $hora Uhr.<br /><br />".$row_ConsultaBoletines['codigo_boletin_al']; endif; /*--------------------------------------------------------------------------------------------*/ require_once('../includes/PHPMailer/class.phpmailer.php'); require_once('../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 = 'mipassgmail'; $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($rowArray['email_suscripcion'], $rowArray['nombre_suscripcion']); /*-----------------------------------------------------------------------------------------------------------*/ $mail->isHTML(true); $mail->CharSet = 'utf-8'; $mail->setWordWrap = 70; /*------------------------------------------------------------------------------------------*/ $mail->Subject = $asunto; $mail->Body = $body; //$mail->MsgHTML($body); $mail->AltBody = $body; /*------------------------------------------------------------------------------------------*/ $mail->Send(); if(!$mail->Send()) { echo $mail->ErrorInfo; echo "Error al enviar a: " . $rowArray["email_suscripcion"] . "<br>"; } $mail->ClearAddresses(); } ?>
Pongo esto:
while ($rowArray = mysql_fetch_array($ConsultaSuscripciones)) {
echo $rowArray["email_suscripcion"];
}
justo despues del while y despues del primer corchete y no me lista los tres correos de los tres suscriptores, solo dos, a los dos que me envía el boletin, yahoo y hotmail. El primer registro de la la tabla de suscriptores es el de gmail, los dos siguientes son los de yahoo y hotmail. Se que puedo mandar diariamente a través de gmail unos 100 emails.
Hago esto justo al final de la consulta de suscripciones, despues de: $totalRows_ConsultaSuscripciones = mysql_num_rows($ConsultaSuscripciones);
do {
echo $row_ConsultaSuscripciones['email_suscripcion'];
} while ($row_ConsultaSuscripciones = mysql_fetch_assoc($ConsultaSuscripciones));
y si que me lista los tres correos de los tres suscriptores.
Creo que el problema está en el array.
Alguna sugerencia ??
Muchísimas gracias de antemano y un saludo: manyblue