![Antiguo](http://static.forosdelweb.com/fdwtheme/images/statusicon/post_old.gif)
22/03/2005, 12:59
|
![Avatar de execon](http://static.forosdelweb.com/customavatars/avatar15525_1.gif) | | | Fecha de Ingreso: enero-2002 Ubicación: Temuco
Mensajes: 179
Antigüedad: 23 años 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");
$diasemana= date("w");
$diames= gmdate("d");
$mes= gmdate("m");
$ano= gmdate("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> <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]
---------------------------------- |