Estaba al pedo, ya que estos días ando al pedo, el doctor dijo que debia tomar un descanzo por el estres, pero no puedo así que me pongo a codear cualquier cosa.
Hoy hice una clase que sirve para formularios de contacto principalmente.
El uso de la clase es simple, se instancia con el remitente el titulo, y luego se introduce el texto del body, al introducirlo la clase lo separa en parrafos (<p></p>) y si el campo tiene saltos de linea “\n” lo cambia automaticamente a “<br>”
Una vez que tenemos el texto que irá en el body, ponemos la dirección de correo electronico a donde será enviado el email y le damos “enviar”, estas dos últimas devuelven true o false.
Les dejo la clase, luego pongo un ejemplo:
<?php
comprobar_email($Temail) == 'no') { echo "Email de envio incorrecto"; die; }
if (!ereg("^[a-zA0-Z9]+$",$titulo)) { echo "Titulo incorrecto"; die; }
$this->titulo = $titulo;
$this->remitente = $Temail;
$this->head = '
';
$this->cabecera = "From: ".$Temail."\r\nContent-type: text/html\r\n";
$this->footer = '';
}
function a($a) {
if ($this->comprobar_email($a) == 'no') { return false; }
$this->envio = $a;
return true;
}
function insert($a) {
$this->cuerpo .= "
".nl2br($a)."
";
}
function enviar() {
$this->all = $this->head.$this->cuerpo.$this->footer;
if (mail($this->envio,$this->titulo,$this->all,$this->cabecera)) { return true; } return false;
}
// Esta clase no me pertenece
function comprobar_email($email){
$mail_correcto = 0;
if ((strlen($email) >= 6) && (substr_count($email,"@") == 1) && (substr($email,0,1) != "@") && (substr($email,strlen($email)-1,1) != "@")){
if ((!strstr($email,"'")) && (!strstr($email,"\"")) && (!strstr($email,"\\")) && (!strstr($email,"\$")) && (!strstr($email," "))) {
if (substr_count($email,".")>= 1){
$term_dom = substr(strrchr ($email, '.'),1);
if (strlen($term_dom)>1 && strlen($term_dom)<5 && (!strstr($term_dom,"@")) ){
$antes_dom = substr($email,0,strlen($email) - strlen($term_dom) - 1);
$caracter_ult = substr($antes_dom,strlen($antes_dom)-1,1);
if ($caracter_ult != "@" && $caracter_ult != "."){
$mail_correcto = 1;
}
}
}
}
}
if ($mail_correcto)
return 'si';
else {
return 'no';
}
}
// termina clase de comprobar email.
}
$enviando = new email("tuemail@tudominio.com","InvisionArg Php code");
$enviando->insert("Le recordamos que está utilizando una clase realizada por invisionarg");
$enviando->insert('<span style="color: #cc0000;"><strong>Este es un texto de prueba
Ud puede modificarlo cuando quiera.</strong></span>');
if (!$enviando->a("emaildestino@domaindestino.com")) { echo "El email de envio es incorrecto"; }
if ($enviando->enviar()) { echo "email enviado"; } else { "email no enviado"; }
?>