
23/02/2003, 12:50
|
 | | | Fecha de Ingreso: septiembre-2001 Ubicación: Madrid
Mensajes: 164
Antigüedad: 23 años, 6 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 |