Comunidad de diseño web y desarrollo en internet online

Conectar correo electrónico con BD

Citar            
MensajeEscrito el 20 May 2011 07:20 pm
Buenas, necesito conectar un correo electrónico con una base de datos donde se alojan direcciones de correo electrónico de un newsletter.

Haber si me podéis ayudar.

Un Saludo
Gracias por adelantado.

Por NDax

2 de clabLevel



Genero:Masculino  

Uno Cualquiera

chrome
Citar            
MensajeEscrito el 20 May 2011 08:13 pm
pues no se si te ayuden de la forma en la que estas pidiendo , esto no es yahoo respuestas.
bueno la logica para hacer algo asi es simple
*primero haces la conexion a la DB
*recorres cada fila
*usas alguna funcion('mail'),clase('PHPMailer') en php o algo similar
*haces algun control con crontabs,txt, register_shutdown, para el envio de emails
o bueno si no quieres liarte pues hay scripts gratuitos que hace eso buscalos por NEWSLETTER PHP
como
www.phplist.com
o
http://www.baluart.net/articulo/script-de-newsletters-con-php-y-ajax

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 20 May 2011 11:59 pm
Gracias tuadmin, pero simplemente es una pregunta, como otra cualquiera.

De nuevo Gracias.

Por NDax

2 de clabLevel



Genero:Masculino  

Uno Cualquiera

chrome
Citar            
MensajeEscrito el 29 May 2011 11:01 pm
Necesitamos crear una Base de Datos para guardar los archivos

Código MySQL :

CREATE TABLE IF NOT EXISTS `clientes` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `nombre` varchar(100) NOT NULL,
  `email` varchar(100) NOT NULL,
  `asunto` varchar(100) NOT NULL,
  `mensaje` text NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;


Nuestro formulario contacto.html, que lo hice hace un par de años dentro de una tabla:

Código HTML :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>
  <title>Contacto</title>
  <meta http-equiv="content-type" content="text/html; charset=iso-8859-2" />
  <style type="text/css">
  body {
    font-family: Verdana;
  }

  h3 {
    font-size: 30px;
    font-variant: small-caps;
    color: #006699;
  }

  </style>
</head>

<body>

        <h3>Contáctenos:</h3>
        <form action="enviar.php" method="post" id="form1">
          <table width="89%" border="0">
            <tbody>
              <tr>
                <td valign="top" align="right">Nombre y Apellidos:</td>
                <td> </td>

                <td valign="top"><input name="nombre" id="nombre" size="40" type="text" /></td>
              </tr>
              <tr>
                <td valign="top" align="right">E-mail:</td>
                <td> </td>
                <td valign="top"><input name="email" id="email" size="40" type="text" /></td>
              </tr>
              <tr>

                <td valign="top" align="right">Asunto:</td>
                <td> </td>
                <td valign="top"><input name="asunto" id="asunto" size="40" type="text" /></td>
              </tr>
              <tr>
                <td valign="top" align="right">Mensaje:</td>
                <td> </td>

                <td valign="top"><label>
                  <textarea name="mensaje" id="mensaje" cols="40" rows="5"></textarea>
                </label></td>
              </tr>
              <tr>
                <td colspan="3" valign="top" align="center"><input name="enviar" id="enviar" value="Enviar" type="submit" /></td>
              </tr>
            </tbody>

          </table>
        </form>

</body>

</html>


y por ultimo el archivo enviar.php que hemos indicado en el form de nuestro formulario y que lo procesará:

Código PHP :

<?php
// Se reciben las variables
@$nombre = addslashes($_POST['nombre']);
@$email = addslashes($_POST['email']);
@$asunto = addslashes($_POST['asunto']);
@$mensaje = addslashes($_POST['mensaje']);

//Enviando Email al propietario del formulario
$pfw_header = "From: $email\n"
  . "Reply-To: $email\n";
$pfw_subject = "Mensaje de mi Web";
$pfw_email_to = "tu_correo@tu_sitio.com";
$pfw_message = "Nombre: $nombre\n"
. "Email: $email\n"
. "Asunto: $asunto\n"
. "Mensaje: $mensaje\n";
@mail($pfw_email_to, $pfw_subject ,$pfw_message ,$pfw_header ) ;

//Enviando E-mail de auto respuesta al visitante
$pfw_header = "From: tu_correo@tu_sitio.com\n"
  . "Reply-To: tu_correo@tu_sitio.com\n";
$pfw_subject = "Gracias por su mensaje";
$pfw_email_to = "$email";
$pfw_message = "$nombre su mensaje ha sido recibido, pronto nos comunicaremos a su dirección email.";
@mail($pfw_email_to, $pfw_subject ,$pfw_message ,$pfw_header ) ;

//Guardando registros en la Base de Datos MySQL
@$pfw_strQuery = "INSERT INTO `clientes`(`nombre`,`email`,`asunto`,`mensaje`)VALUES (\"$nombre\",\"$email\",\"$asunto\",\"$mensaje\")" ;
@$pfw_host = "localhost";
@$pfw_user = "root";
@$pfw_pw = "";
@$pfw_db = "contacto";
$pfw_link = mysql_connect($pfw_host, $pfw_user, $pfw_pw);
if (!$pfw_link) {
 die('Could not connect: ' . mysql_error());
}
$pfw_db_selected = mysql_select_db($pfw_db, $pfw_link);
if (!$pfw_db_selected) {
die ('Can not use $pfw_db : ' . mysql_error());
}

$pfw_result = mysql_query($pfw_strQuery);
if (!$pfw_result) {
 die('Invalid query: ' . mysql_error());
}
mysql_close($pfw_link);

//Si se envia el formulario, se muestra el mensaje de agradecimiento.
 echo("<p align='center'><font face='Arial' size='3' color='#FF0000'>Gracias por su mensaje.<br>Pronto sera respondido.</font></p>");
?>


El PHP está comentado y si has manejado un poco de HTML y PHP no creo que te dé ningún problema.

El formulario no está validado, pues te pongo el primero que encontré en mis archivos, pero podrías buscar por allí algo en javascript, Spry en Dreamweaver o con PHP.

No me cuesta nada compartirlo, pues en éste foro y muchos otros he aprendido bastante y me gusta compensar lo que me han dado.

Por otto1303

5 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.