Envío de boletines a emails de una base de datos MySQL
Código PHP para el envío 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 electrónico 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:
<?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 poner su
nombre de usuario en el servidor.
Contraseña: su contraseña. */
mysql_select_db(’base_de_datos’,$mi_conexion);
/* Base_de_datos: nombre 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í poner email en HTML */
$envia=’enviante’;
$remite=’email_remitente’;
/* Enviante: Nombre del enviante
Email_remitente: email a 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” . “\r\n”)
or die(”Error al Enviar Email”);
echo “Mensaje Enviado!”; //
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”.
|
Artículos Relacionados Manual ASP. Selecciones en una tabla Selecciones de una tabla Dentro de una base de datos, organizada por tablas, la selección... Cómo instalar PHP-Nuke 1. Introducción PHP-Nuke es un sistema de creación de portales (weblogs) distribuido bajo la licencia... Manual PHP. La cesta de la compra PHPLIB. Carro de la compra Ya dijimos que gracias al control de... Hosting o Alojamiento web en Windows Particularmente prefiero contratar hosting linux, porque suele ser más barato y las tecnologías que suelo... |
Autor y licencia
Autor: Raúl Aviles
URL: Isens.es
2 Comentarios para “Envío de boletines a emails de una base de datos MySQL”

(2 votos)


Favor tendras un script que se adapte en codigo asp, te agradeceria mucho, Gracias.
22/09/08 - 16:01 #
No lo tengo, lo siento sonia.
27/09/08 - 21:05 #