23/02/2003, 12:50
|
| | | Fecha de Ingreso: septiembre-2001 Ubicación: Madrid
Mensajes: 164
Antigüedad: 22 años, 7 meses Puntos: 0 | |
Bueno, ya dí con la solución... espero que ayude a alguien:
La clase -> Código PHP: <?php class correo { // empezamos /************************************ El propósito de esta clase es bien sencillo: enviar mails con formato HTML Funcionamiento: Cuenta el número de destinos que se han introducido y envía ese número de correos, el mail 1 tiene el asunto 1, el destino 1, el remite 1, etc, etc... Al final recuenta si ha habido fallos en la variable fallo_envios que por defecto es 0. Esta clase NO: - Comprueba que la sintaxis de los mails sea correcta, - Puede aduntar archivos de ninguna clase, - Cambiar las cabeceras, - Mandar mensajes con CC, CCO, etc, etc..., - Mil cosas más que se podrán hacer. Una clase seria de envio de mails: [url]http://phpmailer.sourceforge.net[/url] Espero que ayude a alguien aunque sea como inspiración para hacer una fashion de la muerte ;) Mejorar lo que creais oportuno y me mandais una copia a: Zárate, [email][email protected][/email]. GRACIAS A TODOS. ************************************/ // declaramos variables var $asunto; var $cuerpo; var $destino; var $remite; var $estado; var $comprobar_mails; var $fallo_envios = 0; function enviar(){ // realiza el envio de los mails for($i=0; $i<count($this->destino); $i++){ // recorremos los arrays para el envio if(mail($this->destino[$i],$this->asunto[$i],$this->cuerpo[$i],"From: ".$this->remite[$i]."\nContent-Type: text/html; charset=iso-8859-1")){ // envio ok $this->estado[$i] = "ok"; } else { // envio ko $this->estado[$i] = "ko"; }// end if } // end for $this->verificar(); // verificamos si ha habido errores en el envio } // end function enviar function verificar(){ // comprueba si ha habido envios fallidos y cuantos for($i=0; $i<count($this->estado); $i++){ // recorremos el array del estado de los mails para verificar que no hay ko's if ($this->estado[$i] != "ok"){ // ha encontrado un ko $this->fallo_envios++; } // end if } // end for } // end function verificar } // end class correo ?> Una página de ejemplo -> Código PHP: <html> <head> <title>Prueba clase correo</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <?php // podemos mandar el cuerpo con formato HTML $cuerpo_HTML = " <table bgcolor='#000000'> <tr> <td><font color='#FFFFFF'>Feo</font></td> </tr> </table> "; $cuerpo_HMTL2 = " <table bgcolor='#000000'> <tr> <td><font color='#FFFFFF'>Feo que te veo</font></td> </tr> </table> "; include("class.correo.php"); // incluimos la clase $xuan = new correo(); // creamos el objeto // definimos las variables que necesitamos $xuan->asunto = array("Asunto mail 1", "Asunto mail 2"); $xuan->cuerpo = array($cuerpo_HMTL, $cuerpo_HMTL2); $xuan->destino = array("[email protected]", "[email protected]"); $xuan->remite = array("[email protected]", "[email protected]"); $xuan->enviar(); if ($xuan->fallo_envios == 0){ print("Envios correctos"); } else { print("Error en los envios"); }// end if print("<br>Fallos -> ".$xuan->fallo_envios.""); ?> </body> </html> Saludos |