Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/06/2009, 17:21
lacolmena
 
Fecha de Ingreso: abril-2009
Mensajes: 9
Antigüedad: 15 años, 1 mes
Puntos: 0
Como puedo combinar estos dos scripts

Hola quiero saber como combinar estos dos scripts que encontré en el foro
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:
<?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);

?>
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.

Código:
<?
  // 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 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.

Lo que yo busco es orientación ya que estoy aprendiendo a usar php.
Gracias de ante mano…