23/03/2014, 06:16
|
| | Fecha de Ingreso: julio-2013
Mensajes: 174
Antigüedad: 11 años, 4 meses Puntos: 1 | |
Respuesta: Como enviar BCC a todos los contactos de mysql Cita:
Iniciado por gnzsoloyo Bueno, tienes un par de errores conceptuales, pero nada que no se pueda solucionar rápidamente.
En primer lugar, mysql_fetch_asoc() no recupera el resultado completo, sino sólo una fila, y lo que haces es crear un array de una única entrada. Por consecuencia estás recorriendo algo que no se recorre, sencillamente.
En segundo lugar, debes siempre verificar que la consulta devuelva efectivamente algo, aunque sea nada más que por cuestiones preventivas.
Finalmente, lo que recorres con el foreach es el mismo resource devuelto por la query. No necesitas otra cosa, no lo compliques.
Código PHP:
Ver original<?php $query_Clientes = "SELECT txtEmail FROM Publicidad_tbl ORDER BY Publicidad_tbl.idNombre"; $asunto = $titulo; $html = "aquí va el contenido"; $cabeceras = 'MIME-Version: 1.0' . "\r\n"; $cabeceras .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; $cabeceras .= 'To: $email' . "\r\n"; $cabeceras .= 'From: $email ' . "\n"; $cabeceras .= 'Bcc:'; foreach ($Clientes as $mails) { $cabeceras .= $mails['txtEmail'].","; } $cabeceras .= "\r\n"; if (mail($email, $asunto, $html, $cabeceras)) { echo '<script language="JavaScript" type="text/javascript"> //<![CDATA[ alert("Mensaje enviado!"); //]]> </script> <SCRIPT LANGUAGE=javascript> window.history.go(-1) </SCRIPT> '; } else { echo 'Error!'; } } ?>
Este es el código con los cambios que me indicaste. Ahora mismo no envía email ni me devuelve el dump. La pantalla simplemente se queda en blanco. La verdad es que llevo dándole vueltas una semana y no consigo hallar qué estoy haciendo mal. Código PHP: <?php
mysql_select_db($database_db, $db);
$query_Clientes = "SELECT txtEmail FROM Publicidad_tbl ORDER BY Publicidad_tbl.idNombre";
$Clientes = mysql_query($query_Clientes, $db) or die(mysql_error());
if (mysql_num_rows($Clientes) > 0) {
$totalRows_Clientes = mysql_num_rows($Clientes);
$email = '[email protected]';
$titulo= utf8_decode($_POST['titulo']);
$mensaje = nl2br(utf8_decode($_POST['mensaje']));
$nombre = $row_Clientes['txtNombre'];
$apellidos = $row_Clientes['txtApellidos'];
$email_clientes = $row_Clientes['txtEmail'];
$imagen = $_POST['imagen'];
$asunto = $titulo;
$html = "aquí va el contenido";
$cabeceras = 'MIME-Version: 1.0' . "\r\n";
$cabeceras .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$cabeceras .= 'To: $email' . "\r\n";
$cabeceras .= 'From: $email ' . "\n";
$cabeceras .= 'Bcc:';
foreach ($Clientes as $mails) {
$cabeceras .= $mails['txtEmail'].",";
}
$cabeceras .= "\r\n";
$cabeceras .= 'X-Mailer: PHP/' . phpversion();
var_dump($cabeceras);
var_dump($Clientes);
if (mail($email, $asunto, $html, $cabeceras)) {
echo '<script language="JavaScript" type="text/javascript">
//<![CDATA[
alert("Mensaje enviado!");
//]]>
</script>
<SCRIPT LANGUAGE=javascript>
window.history.go(-1)
</SCRIPT>
';
} else {
echo 'Error!';
}
mysql_free_result($Clientes);
}
?> |