Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/01/2010, 18:49
albertrc
 
Fecha de Ingreso: febrero-2009
Mensajes: 443
Antigüedad: 15 años, 2 meses
Puntos: 1
Desactivar la validación de class.phpmailer.php y hacer la mía

Quiero desactivar la validación de class.phpmailer.php solo valida correo y mensaje
y quiero hacer mi propia validación desde el formulario porque tengo correo, assumpto, nombre, mensaje,recapatcha y a lo mejor dentro de un tiempo quiero poner el teléfono por ejemplo

si pongo un correo y un mensaje y pongo enviar envia el mensaje
aunque yo tenga las validaciones hechas en el formulario

siempre prevalece class.phpmailer.php de el formulario lo que no se es que tengo que comentar

no pongo el codigo de class.phpmailer.php porque son 2323 linias

PHPMailer v5.1
http://sourceforge.net/projects/phpm...0for%20php5_6/
class.phpmailer.php

linia 775 por ejemplo he quitado esta linia porque mostraba cuando un mensaje avia sido enviado correctamente para un usuari no le interesa este mensaje
//$this->smtp->do_debug = $this->SMTPDebug;
Advanced Example using Gmail (for PHPMailer v5.0.0 and up)
http://phpmailer.worxware.com/index....=exampleagmail
tengo este fichero que se llama phpmailer.php
<html>

<head>

<link rel="stylesheet" type="text/css" media="screen" href="css/estilos.css" />

</head>

<body>

Código PHP:
<?php

include("class.phpmailer.php");

//include("class.smtp.php"); 



$mail = new PHPMailer(true); // the true param means it will throw exceptions on errors, which we need to catch

$mail->IsSMTP(); // telling the class to use SMTP

try {

  
$mail->Host       "localhost"// SMTP server

  
$mail->SMTPDebug  2;                     // enables SMTP debug information (for testing)

  
$mail->SMTPAuth   true;                  // enable SMTP authentication

  
$mail->SMTPSecure "ssl";                 // sets the prefix to the servier

  
$mail->Host       "smtp.gmail.com";      // sets GMAIL as the SMTP server

  
$mail->Port       465;                   // set the SMTP port for the GMAIL server

  
$mail->Username   "[email protected]";  // GMAIL username

  
$mail->Password   "*******";            // GMAIL password

 
$mail->AddAddress(strtolower($_POST['correo']),strtolower($_POST['nombre']) );

$mail->SetFrom('[email protected]''empresa');

$mail->Subject=("empresa ".strtolower($_POST['assumpto']));

$mail->MsgHTML(strtolower($_POST['mensaje']));

$mail->Send();




echo 
"<span class='correcta'><h2>Mensaje enviado correctamente</h2></span>\n";

} catch (
phpmailerException $e) {

Aquí me salia invalid adress y body si no es tan llenos los 2 campos
// echo $e->errorMessage(); //Pretty error messages from PHPMailer

} catch (Exception $e) {

 
// echo $e->getMessage(); //Boring error messages from anything else!

}

?>
</body>

</html>





tengo este fichero que se llama contactar.php es el formulario donde hago las validaciones aun me faltan validaciones en el fichero
<form action="contactar.php" method="post" name="contactar" enctype="multipart/form-data">

<p>Campos obligatoris <span class="obligatorio">*</span></p>



<div>

<label for="correo">Correo <span class="obligatorio">*</span></label>

<input type="text" name="correo" id="correo" value="<?php echo $_POST['correo'] ?>" maxlength="38" size="28" />

<?php

if($_POST['enviar'] and !$_POST['correo'] ){

echo "<span class='validacion'></br>Introduzca el correo</span>";

}

?>

</div>



<div>

<label for="assumpto">Assumpto <span class="obligatorio">*</span></label>

<input type="text" name="assumpto" id="assumpto" value="<?php echo $_POST['assumpte'] ?>" maxlength="38" size="28"/>

<?php



if($_POST['enviar'] and !$_POST['assumpto'] ){

echo "<span class='validacion'></br>Introdusca el assumpto</span>";

}

else if($_POST['enviar'] and preg_match('/[^a-zA-Z ]/' ,$_POST['assumpto'] ) ){

echo "<span class='validacion'></br>El assumpto tiene que ser alfabetico</span>";

}



else if ( $_POST['enviar'] and strlen($_POST['assumpto'])<='5' or strlen($_POST['assumpto'])>='38'){

echo "<span class='validacion'></br>
El mensaje tiene que tener entre 5 i 38 palabras</span>";

}

?>

</div>



<div>

<input type="text" name="nombre" id="nombre" value="<?php echo $_POST['nombre'] ?>" maxlength="38" size="28">

<label for="nombre">Nom i Cogs <span class="obligatorio">*</span></label>

<?php

if($_POST['enviar'] and !$_POST['nombre'] ){

echo "<span class='validacion'></br>Introduzca el nombre</span>";

}

else if($_POST['enviar'] and preg_match('/[^a-zA-Z ]/',$_POST['nombre']) ){

echo "<span class='validacion'></br>El nombre tiene que ser alfabetico</span>";

}

else if($_POST['enviar'] and str_word_count($_POST['nombre']) !=3 ){

echo "<span class='validacion'></br>Faltan los apallidos</span>";

}


else if ( $_POST['enviar'] and strlen($_POST['nombre'])<='9' or strlen($_POST['nombre'])>='38'){

echo "<span class='validacion'></br>El nombre i apellidos tiene de tener entre 9 i 38 palabras</span>";

}

?>


</div>



<div>



<textarea type="text" id="mensaje" name="mensaje" cols="32" rows="10"><?php echo $_POST['mensaje'] ?></textarea>

<label for="mensaje">Mensaje<span class="obligatorio">*</span></label>

<?php

if($_POST['enviar'] and !$_POST['mensaje'] ){

echo "<span class='validacion'>Introduzca el mensaje</span></br>";

}



else if($_POST['enviar'] and preg_match('/[^a-zA-Z0-9 ]/',$_POST['mensaje']) ){

echo "<span class='validacion'></br>
El mensaje solo puede contener valores numéricos i alfanuméricos</span>";

}



else if ( $_POST['enviar'] and strlen($_POST['mensaje'])<='15' or strlen($_POST['mensaje'])>='250'){

echo "<span class='validacion'></br>El mensaje tiene que tener entre 15 y 250 palabras</span>";

}

?>

</div>



<div>

<label for="recaptcha">recaptcha <span class="obligatorio">*</span></label>

<?php

include("correo/recaptcha.php");

?>

</div>



<div class="botones">

<input type="submit" name="enviar" value="enviar" id="enviar" />

</div>

</form>

<?php

include("correo/phpmailer.php");

?>

</div>