Foros del Web » Programando para Internet » PHP »

email a mis registrados

Estas en el tema de email a mis registrados en el foro de PHP en Foros del Web. Hola amigos Tengo una base de datos de usuarios registrados a mi web, en esta bd tengo los siguientes contenidos: Id - Nombre - apellido ...
  #1 (permalink)  
Antiguo 14/04/2005, 14:37
 
Fecha de Ingreso: diciembre-2004
Mensajes: 65
Antigüedad: 19 años, 4 meses
Puntos: 1
email a mis registrados

Hola amigos

Tengo una base de datos de usuarios registrados a mi web, en esta bd tengo los siguientes contenidos:
Id - Nombre - apellido – país - ciudad – mail

Lo que quiero hacer es poderles enviar un boletín a su correo electrónico, asi que pense en crear un for que seleccionara el id del usuario e incrementara, y al correo electrónico de ese id se le enviara el boletín. Es bastante notorio que el script no me funciono porque?
Que debo tener en cuenta? Cual seria la solución mas próxima? En lo posible envíenme el scrit resuelto que yo lo estudiare.

<?php
//Conexion con la base
mysql_connect("localhost","tser","tu_password") ;
//citamos la bd para seleccionar de ella la columna id y email.
$result=mysql_db_query("registrados","select * from clientes where id and email");
//recojemosla informacion de la bd
$row=mysql_fetch_array($result)
for (i=0; i<id; i++)
{
/* AQUÍ ESPECIFICAS EL CORREO AL CUAL QUEIRES QUE SE ENVÍEN LOS DATOS
DEL FORMULARIO, SI QUIERES ENVIAR LOS DATOS A MÁS DE UN CORREO,
LOS PUEDES SEPARAR POR COMAS */
$para ="$correo";
/* AQUI ESPECIFICAS EL SUJETO (Asunto) DEL EMAIL */
$sujeto = "Texto del Asunto del mensaje aquí";
/* aquí se construye el encabezado del correo, en futuras
versiones del script explicaré mejor esta parte */
$encabezado = "From: $nombre <$email>";
$encabezado .= "\nReply-To: $email";
$encabezado .= "\nX-Mailer: PHP/" . phpversion();
/* con esto se captura la IP del que envío el mensaje */
$ip=$REMOTE_ADDR;
//los datos estan organizados por d1d2d3 este formulario
//solo almacena 3 datos inicialmente
/* las siguientes líneas arman el mensaje */
$mensaje .= "a1: $a1\n";
$mensaje .= "d1: $d1\n";
$mensaje .= "d2: $d2\n";
$mensaje .= "d3: $d3\n";
$mensaje .= ": $\n";
$mensaje .= "IP: $ip\n";
/* aqui se intenta enviar el correo, si no se
tiene éxito se da un mensaje de error */
if(!mail($para, $sujeto, $mensaje, $encabezado))
}
echo " todo se ha enviado en orden";
?>

esta es la tabla sql
CREATE TABLE `clientes` (
`id` int(11) NOT NULL auto_increment,
`nombre` varchar(100) default NULL,
`pais` varchar(100) default NULL,
`ciudad` varchar(100) default NULL,
`profecion` varchar(100) default NULL,
`email` varchar(100) default NULL,
`como` varchar(100) default NULL,
PRIMARY KEY (`id`)
)
  #2 (permalink)  
Antiguo 14/04/2005, 14:56
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
No sé por qué usas un "for" .. lo típico es usar la estructura tipo:

Código PHP:
// conectas a tu BD . .seleccionas la BD .. etc
$resultado=mysql_query("SELECT * FROM tabla");
while (
$row=mysql_fetch_array($resultado)){
// aquí compones tu mail() con 
// $row['email'] que contiene tu e-mail .. etc.

En las FAQ's de este foro tienes ejemplos de como usar mail() .. en su defecto tienes la documentación oficial de PHP al respecto: www.php.net/mail

El e-mail se enviará uno por uno . .con la posibilidad de personalizarlo como gustes y sin problemas con filtros de "anti-spam" como suele pasar cuando se compone una cabecera "CC o BCC" con todos los e-mails a enviar.

Un saludo,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:02.