Ver Mensaje Individual
  #6 (permalink)  
Antiguo 22/03/2005, 12:59
Avatar de execon
execon
 
Fecha de Ingreso: enero-2002
Ubicación: Temuco
Mensajes: 179
Antigüedad: 22 años, 2 meses
Puntos: 0
Hola, no sé si te sirva de algo, pero éste código que desarrollé usando funciones de una y otra parte trabaja en un 100% bien, revisalo y tal vez te sirva de algo.

Código PHP:
<? $HTTP_REQUEST_VARS['Subject'];
   
$HTTP_REQUEST_VARS['From'];
   
$HTTP_REQUEST_VARS['imagen'];

   
set_time_limit(0);
 
$dayarray=array("Domingo","Lunes","Martes","Miercoles","Jueves","Viernes","Sábado","Domingo");
 
$montharray=array("Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre");
 
$diasemanadate("w");
 
$diamesgmdate("d");
 
$mesgmdate("m");
 
$anogmdate("Y");

 
$lafecha=$dayarray[$diasemana].", ".$montharray[$mes-1]." ".$diames." de ".$ano;
 
$eventosmes=$montharray[$mes-1];
 
$newmes=$mes-1;
 
$eventomesiguiente=$montharray[$newmes+0];

if (
$send=="ok") {
### Leer archivo de mail
function mostrarTemplate($tema$variables
{   
    
$cod implode("", @file($tema)); 
    
ob_start(); 
    
extract($variables); 
    eval(
'?>'.$cod.'<?'); 
    
$temp=ob_get_contents(); 
    
ob_end_clean(); 
    return 
$temp


$archivo "../mails/plantilla.php";
$variablesmensaje= array ("lafecha" => $lafecha,
                          
"promocion" => $promocion,
                          
"lista" => $lista);
$Mensaje=mostrarTemplate($archivo$variablesmensaje);

### Escribir el archivo correspondiente al tipo de promoción

$archivo "../mails/".$promocion.".html";
$fp fopen($archivo"w+");
$contenido $Mensaje;
$write fputs($fp$contenido);
fclose($fp);

###

$BaseUsr=mysql_connect("***","***","***");
mysql_select_db("oba_obadat",$BaseUsr);
$SQLregistro=mysql_query("SELECT * FROM obamail",$BaseUsr);
$mails_enviados=0;
?>
<span class="tableenc"><strong>&nbsp;<font face="Arial, Helvetica, sans-serif">- 
Enviando...</font></strong><font face="Arial, Helvetica, sans-serif"> </font> 
<?
while ($Registro=mysql_fetch_array($SQLregistro)) { 
$Contacto_CorreoElectronico=$Registro["mail"];
sleep(1);
// 
$Nombre =$Registro["nombres"];
$apellidos=$Registro["apellidos"];

$headers  "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: ".$From." <[email protected]>\r\n";
$headers .= "Reply-To: <[email protected]>\r\n";
$headers .= "X-Mailer: PHP/" phpversion();
 if (
mail($Contacto_CorreoElectronico$Subject$Mensaje,$headers))
 {
    
$mails_enviados++;
  }
 else { echo 
"<b>No enviado a ".$Contacto_CorreoElectronico."</b>"; }
 
flush();
?>
<img src="images/good.gif"> [Total mails enviados: 
<?=$mails_enviados?>
]</span> 
<?
echo $Mensaje;
?>
Cómo funciona ?? Simple, rescato las variables Subject, From e imagen, utilizo una plantilla que leo en mostrartemplate(), descargo los correos de una base de datos y envío. El proceso de envío es un poco lento a veces, pero depende del servidor y de la cantidad de mails que envíes, la he probado hasta con 3000 cuentas de correo.

Si te sirve y encuentras que se puede mejorar, adelante, eso si, espero me lo comuniques

Saludos.
__________________
----------------------------------
APP Developer
[email protected]
----------------------------------