// COMPRUEBO LOS CAMPOS DEL FORMULARIO
$error="";
if (isset($_POST["enviar"])) {
if (empty($_POST["nombre"])) {
$error =" Debes indicar tu nombre \n "; } if (!eregi("^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+"."@[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\."."[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$", $_POST["emails"])) { $error .= " Debes indicar un email válido para poder realizar el envío. \n "; } if (empty($_POST["nombre2"])) { $error .=" Debes indicar el nombre de la persona a la que enviarás esta noticia \n "; } if (!eregi("^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+"."@[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\."."[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$", $_POST["emails2"])) { $error .= " Debes indicar un email válido de destino. \n "; } } // FIN if (isset($_POST["enviar"])) { if (isset($_POST["enviar"]) && !$error) { // CREO EL CUERPO DEL EMAIL QUE RECIBIRÁ EL DESTINATARIO $cuerpo = "\n"; $cuerpo .= " \n"; $cuerpo .= " '; if($_GET["seccion"]!="Opinion") { $cuerpo.=" Este es el enlace: http://www.cantabria24horas.com/".$_GET["seccion"]."/".$_GET["id"]." "; } else { $cuerpo.="Este es el enlace: http://www.cantabria24horas.com/".$_GET["seccion"]."/".$_GET["id"]."/".$_GET["titulo"]." "; } $cuerpo .=" \n"; $cuerpo .=" \n"; // primero hay que incluir la clase phpmailer para poder instanciar //un objeto de la misma require "phpmailer/class.phpmailer.php"; //instanciamos un objeto de la clase phpmailer al que llamamos //por ejemplo mail $mail = new phpmailer(); //Definimos las propiedades y llamamos a los mtodos //correspondientes del objeto mail //Con PluginDir le indicamos a la clase phpmailer donde se //encuentra la clase smtp que como he comentado al principio de //este ejemplo va a estar en el subdirectorio includes $mail->PluginDir = "phpmailer/"; //Con la propiedad Mailer le indicamos que vamos a usar un //servidor smtp $mail->Mailer = "mail"; //Asignamos a Host el nombre de nuestro servidor smtp $mail->Host = "smtp.1and1.es"; //Le indicamos que el servidor smtp requiere autenticacion $mail->SMTPAuth = true; //Le decimos cual es nuestro nombre de usuario y password $mail->Username = ""; $mail->Password = ""; //Indicamos cual es nuestra direccin de correo y el nombre que //queremos que vea el usuario que lee nuestro correo $mail->From = $_POST["emails"]; $mail->FromName = $_POST["nombre"]; //el valor por defecto 10 de Timeout es un poco escaso dado que voy a usar //una cuenta gratuita, por tanto lo pongo a 120 $mail->Timeout=120; //Indicamos cual es la direccin de destino del correo $mail->AddAddress($_POST["emails2"]); //Asignamos asunto y cuerpo del mensaje //El cuerpo del mensaje lo ponemos en formato html, haciendo //que se vea en negrita $mail->Subject = "Te envio una noticia de Cantabria24horas.com"; $mail->Body = $cuerpo; //Definimos AltBody por si el destinatario del correo no admite email con formato html $mail->AltBody = ""; //Indicamos el fichero a adjuntar si el usuario seleccion uno en el formulario if ($file!="none") { $mail->AddAttachment($_FILES["file"]["tmp_name"],$_FILES["file"]["name"]); } //se envia el mensaje, si no ha habido problemas //la variable $exito tendra el valor true $exito = $mail->Send(); //Si el mensaje no ha podido ser enviado se realizaran 4 intentos mas como mucho //para intentar enviar el mensaje, cada intento se hara 5 segundos despues //del anterior, para ello se usa la funcion sleep $intentos=1; while ((!$exito) && ($intentos < 5)) { sleep(5); //echo $mail->ErrorInfo; $exito = $mail->Send(); $intentos=$intentos+1; } if(!$exito) { echo "Problemas enviando correo electronico a ".$valor; echo "".$mail->ErrorInfo; echo ""; } else { echo "El formulario ha sido enviado correctamente. " ; echo ""; } } else { echo $error; ?> } ?> |