hackers! Bienvenido(a), Visitante. Por favor, ingresa o regístrate.
¿Perdiste tu email de activación?
19 de Marzo de 2010, 10:04:42
Inicio Buscar Ayuda Ingresar Registrarse
Noticias: ¿Quieres usar GNU/linux y no sabes como? Entonces haz click > AQUÍ <
Gracias gente :
Ecuador!Guatemala!!UruguayBrasilRepublica DominicanaBolivia *USAColombia!ESPAÑA!Venezuela!Chile **El Peru!ArgentinaMexico
+  Foros pOrtal Hacker
|-+  Programacion
| |-+  Desarrollo Web
| | |-+  PHP (Moderadores: carlmycol, shevchenko)
| | | |-+  Envío de boletines a emails de una base de datos MySQL en PHP
0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] Ir Abajo Imprimir
Autor Tema: Envío de boletines a emails de una base de datos MySQL en PHP  (Leído 337 veces)
Que buscas?..
shevchenko
Una vez un ordenador me venció jugando al ajedrez, pero no me opuso resistencia cuando pasamos al kick boxing
Moderador
*****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 1,191


Si la vida no te sonríe… ¡Hazle cosquillas!


Ver Perfil WWW
« : 25 de Mayo de 2009, 02:44:29 »

Envío de boletines a emails de una base de datos MySQL en PHP

Código en PHP para el envio de boletines a emails almacenados en una base de datos.

Ahora está muy de moda el envío de boletines para informar de las novedades en las webs. El único problema es que para hacerlo, la mayoría de webmasters tienen que depender de alguna empresa (o servidor) que les gestione la base de datos y les envíe los emails cuando lo requieran.

En este artículo explicaré paso a paso como crear la tabla (en la base de datos MySQL) necesaria para el almacenamiento de los emails y posteriormente, cómo enviar un boletín a todos ellos, con el aliciente de que no aparezcan todos los destinatarios en el campo "Para:" del mensaje.

Creación de tabla en la base de datos

Mediante su gestor de la base de datos MySQL (seguramente "phpMyAdmin") debe crear una nueva tabla en su base de datos. Aquí le facilitamos el archivo de texto para ello:

CREATE TABLE usuarios (
id bigint(7) NOT NULL auto_increment,
nick varchar(100) NOT NULL,
passowrd varchar(100) NOT NULL,
nombre varchar(255) default NULL,
email varchar(100) default NULL,
KEY id (id)
)

Y quedará así en su phpMyAdmin:


Tras esto usted ya tiene la tabla necesaria para almacenar los datos dentro de una base de datos MySQL. Podría explicar como introducir los datos en esta tabla mediante formularios de registro... pero eso ya lo dejo a gusto del webmaster.

Envío del boletín

Para enviar el boletín solo debe cambiar los datos del siguiente archivo php por los de su base de datos y tendrá listo su archivo. Para enviar el boletín solo tiene que ejecutar este archivo en su servidor (cargarlo: por ejemplo, entrar en http://usuarios.lycos.es/tunombredeusuario/prueba.php):

<?php
$mi_conexion=mysql_connect('servidor','nombre_de_usuarior','contraseña') or die('No se puedo conectar con la base de datos!');

/*
Servidor: aquí debe poner la dirección de su servidor, en la mayoría de las compañías es 'localhost'
Nombre_de_usuario: debe pone su nombre de usuario en el servidor.
Contraseña: su contraseña.
*/

mysql_select_db('base_de_datos',$mi_conexion);

/*
Base_de_datos: nombre de su base de datos.
*/

$query_Tabla = "SELECT email FROM usuarios ORDER BY id ASC";
$Tabla = mysql_query($query_Tabla, $mi_conexion) or die(mysql_error());

/*
Email: es el nombre del campo que requerimos, si ha seguido nuestras instrucciones creando nuestra misma tabla en la base de datos no debe cambiar esto.
Usuarios: es el nombre de la tabla donde está el campo 'email', si ha seguido nuestras instrucciones creando nuestra misma tabla en base de datos no debe cambiar esto.
*/

//elaboramos cadena de emails
$losemails="";
while ($row_Tabla=mysql_fetch_assoc($Tabla)) {
$losemails.=($row_Tabla['email'].", ");
}

$largo=strlen($losemails);
if ($largo>2)
{
//quitamos ultimos ", "
$losemails=substr($losemails,0,$largo-2);
}
else
{
echo "No hay destinatarios!";
die();
};

// se definen los argumentos de mail( ):
$asunto='Prueba de email desde PHP';
$mensaje='<html>
<head>
<title>Titulo de la Pagina</title>
</head>
<body>
<p>Esta es una prueba de emails en formato HTML</p>
Precios de nuestros productos:
<table>
<tr>
<th>PRODUCTO<th>PRECIO<th>PROMOCION</th>
</tr>
<tr>
<td>Refresco Grande</td><td>25,50</td><td>23,00</td>
</tr>
<tr>
<td>Helado Napolitano</td><td>27,50</td><td>25,00</td>
</tr>
<tr>
<td>Patatas</td><td>18,50</td><td>15,00</td>
</tr>
</table>
</body>
</html>';

/*
Aquí debe poner su email en formato HTML
*/

$envia='enviante';
$remite='email_remitente';

/*
Enviante: Nombre del enviante
Email_remitente: email que desea mostrar como remitente.
*/

/// Envío del email:

mail(null, $asunto, $mensaje, "MIME-Version: 1.0
Content-type: text/html; charset=iso-8859-1
From: $envia <$remite>
Bcc: $losemails" . "rn") or die("Error al Enviar el Email");
echo "Mensaje Enviado con Éxito!"; //

mysql_free_result($Tabla);
mysql_close($mi_conexion);
?>

Ya tenemos nuestro sistema de envío de boletines, no tendremos que depender de nadie.

El único problema que presenta este sistema es que al no aparecer nada en el campo "Para:" del email, algunos gestores de email lo colocan como "correo no deseado". Acepto contribuciones de otros lectores para mejorarlo.

Autor: Raúl Avilés
http://www.masdetodo.es.vg/
En línea

Páginas: [1] Ir Arriba Imprimir 
« anterior próximo »
Ir a:  


Ingresar con nombre de usuario, contraseña y duración de la sesión
Powered by SMF 1.1.11 | SMF © 2006-2009, Simple Machines LLC hacker descargas gratis
Ranking-Hits