Este me manda un mail a todas las direcciones de mail de mi base de datos, lo he probado y funciona muy bien.
Código:
Este otro tiene la función class.phpmailer.php que funciona bien llegan los correos con formato html solo que tengo que mandar de a uno los correos.<?php $conexion = mysql_connect("host","usu","pss"); if (!$conexion) { echo "No pudo conectarse a la BD: " . mysql_error(); exit; } if (!mysql_select_db("base de datos",$conexion)) { echo "No ha sido posible seleccionar la BD: " . mysql_error(); exit; } $sql = "SELECT * FROM users"; $resultado = mysql_query($sql); if (!$resultado) { echo "No pudo ejecutarse satisfactoriamente la consulta ($sql) " . "en la BD: " . mysql_error(); exit; } if (mysql_num_rows($resultado) == 0) { echo "No se han encontrado filas, nada a imprimir, asi que voy " . "a detenerme."; exit; } // Mientras exista una fila de datos, colocar esa fila en $fila // como una matriz asociativa // Nota: Si solo espera una fila, no hay necesidad de usar un ciclo // Nota: Si coloca extract($fila); dentro del siguiente ciclo, // estara creando $id_usuario, $nombre_completo, y $status_usuario $cabeceras = 'MIME-Version: 1.0' . "\r\n"; $cabeceras .= 'Content-type: text/; charset=iso-8859-1' . "\r\n"; // Cabeceras adicionales $cabeceras .= 'To: ' . "\r\n"; $cabeceras .= 'From: pelito. ' . "\r\n"; $cabeceras .= 'Cc: xxxx xxxxx' . "\r\n"; $cabeceras .= 'Bcc: xxxx xxxx' . "\r\n"; $mensaje = 'Hola'; $asunto = 'Aun no tiene su pagina web?'; while ($fila = mysql_fetch_assoc($resultado)) { $nombre="name"; $emails="email"; // Enviarlo mail($fila[$emails], $asunto, $mensaje, $cabeceras); //$nombre="nom_sql"; //$emails="emails_sql"; echo $fila[$nombre]; echo '<br>'; echo $fila[$emails]; echo '<br>'; echo '<br>'; } mysql_free_result($resultado); ?>
Código:
Lo que quiero si se puede es combinarlos, que mande a las direcciones de mail de mi base pero con la función class.phpmailer.php para que lleguen con formato html.<? // primero hay que incluir la clase phpmailer para poder instanciar //un objeto de la misma require "includes/class.phpmailer.php"; //instanciamos un objeto de la clase phpmailer al que llamamos //por ejemplo mail $mail = new phpmailer(); //Definimos las propiedades y llamamos a los métodos //correspondientes del objeto mail //Con PluginDir le indicamos a la clase phpmailer donde se //encuentra la clase smtp que como he comentado al principio de //este ejemplo va a estar en el subdirectorio includes $mail->PluginDir = "includes/"; //Con la propiedad Mailer le indicamos que vamos a usar un //servidor smtp $mail->Mailer = "smtp"; //Asignamos a Host el nombre de nuestro servidor smtp $mail->Host = "smtp.xxxx.xxx"; //Le indicamos que el servidor smtp requiere autenticación $mail->SMTPAuth = true; //Le decimos cual es nuestro nombre de usuario y password $mail->Username = "xxxx xxxx"; $mail->Password = "xxxxx"; //Indicamos cual es nuestra dirección de correo y el nombre que //queremos que vea el usuario que lee nuestro correo $mail->From = "xxxxxx xxxxxx"; $mail->FromName = "Eduardo Garcia"; //el valor por defecto 10 de Timeout es un poco escaso dado que voy a usar //una cuenta gratuita, por tanto lo pongo a 30 $mail->Timeout=30; //Indicamos cual es la dirección de destino del correo $mail->AddAddress("xxxxx xxxxxx"); //Asignamos asunto y cuerpo del mensaje //El cuerpo del mensaje lo ponemos en formato html, haciendo //que se vea en negrita $mail->Subject = "Prueba de phpmailer"; $mail->Body = "<b>Mensaje de prueba mandado con phpmailer en formato html</b>"; //Definimos AltBody por si el destinatario del correo no admite email con formato html $mail->AltBody = "Mensaje de prueba mandado con phpmailer en formato solo texto"; //se envia el mensaje, si no ha habido problemas //la variable $exito tendra el valor true $exito = $mail->Send(); //Si el mensaje no ha podido ser enviado se realizaran 4 intentos mas como mucho //para intentar enviar el mensaje, cada intento se hara 5 segundos despues //del anterior, para ello se usa la funcion sleep $intentos=1; while ((!$exito) && ($intentos < 5)) { sleep(5); //echo $mail->ErrorInfo; $exito = $mail->Send(); $intentos=$intentos+1; } if(!$exito) { echo "Problemas enviando correo electrónico a ".$valor; echo "<br>".$mail->ErrorInfo; } else { echo "Mensaje enviado correctamente"; } ?>
Lo que yo busco es orientación ya que estoy aprendiendo a usar php.
Gracias de ante mano…