Buscador de Buscadores Españoles Servicios de Información
Artículos



Incio
Multibuscador
MultiNoticias
Buscadores
Servicios
Noticias
Promoción
Webmasters

 
Scripts de Correo Php
En este artículo, vamos a ver cómo hacer formularios y scripts de correo en Php, JavaScript y html. En concreto, estudiaremos el script que yo utilizo en mis páginas, programado por mi. Versatil, polivalente, fácil de implementar y actualizar. Es requerido cierto conocimiento de Html, Php, y JavaScript. Pero si sabe programar, le resultará muy sencillo modificar el script con mis comentarios.

El formulario requerido,para trabajar con el script de correophp, y asp, que son prácticamente idénticos, se muestra a aquí.
El Script JavaScript, que se muestra en la misma página anterior, verificará que los campos obligatorios han sido cubiertos. Y por último, lo envía a un programa de script Php, que lo procesa y envía al usuario

Podemos utilizar distintos formularios con el mismo script siguiendo las instrucciones. Este script php, tiene la ventaja, de que es muy fácil de adaptar a otros usos, e introducir mas campos opcionales sin mas que incluirlos en el nuevo formulario. Podemos utilizar el mismo script php sin modificar para varios formularios.

La utilidad del script, es un simple feedback de correo para el webmaster. Puesto que no almacena el envío en el servidor -no requiere sql-, lo envía directamente a la dirección de correo que queramos. La gran ventaja, es que permite introducir campos al formulario html sin necesidad de modificar el script php. Diseñamos el formulario, y nos olvidamos del resto.

Quien no tengan conocimientos, por favor, no soliciten ayuda al webmaster. En la página de buscadores de cursos y manuales de este portal. Seguramente encontrarán la información y materiales necesarios para introducirse en la programación. Además, su host, ha de tener intérprete de php, y servicio de correo habilitado.

La mayoría de hospedajes gratuitos, solo ofrecen Html. Y la inmensa mayoría. no permiten enviar correo. Si necesita un host gratuito con estas capacidades, visite tripod españa es útil para aprender. Iespaña, ofrece intérprete php, el resto de servicios, desconozco su estado actual. Algunos host, tienen páginas predefinidas de mail, similares a este script. Pero no puede modificarlas.

Con JavaScript únicamente, no se pueden hacer formularios de correo que utilicen el servidor de mail del servidor. Se necesita algún lenguaje de script de servidor como php, asp, ó perl. utilice mailto: en un enlace en lugar de href:. En los sitios de manuales y scripts, hay bastante documentación. Y scripts prácticamente listos para instalar sin mucho conocimiento.

Además, le recomendamos nuestro transciptor html, un programa gratuito que convierte textos html en scrips php, javascipt, perl, asp,VBasicScript, C#, y VBasic.

Nosotros, utilizamos estos scripts en nuestras páginas, con buenos resultados y estamos muy satisfechos.

Y bueno, vamos a dejarlo como licencia GNU. El problema de estas cosas, es que si no están protegidas, todo el mundo se puede atribuir la paternidad. De todas formas, es tan sencillo, que bueno, qué vamos a hacer, dejémoslo para la educación.
 
Script de mail en Php

Vamos a comenzar con el script php, que posiblemente sea lo mas complejo. Recordándoles que es necesaria la utilización de otra página que contenga el formulario html.

Podemos copiar el texto siguiente, y guardarlo en un archivo mail.php. Cuando pulsemos enviar, en el formulario html, mediante la especificación cgi, se envían los datos del formulario. Que son procesados por este script. Puede usted utilizar como variables php los nombres de campos del formulario html con el signo $ en 1er lugar.
Quienes tengan problemas con el contenido. Un mensaje en blanco solo con las etiquetas. Seguir el enlace.

<?php
##################################
## © Hector Fernandez Pereda 2003 ####
#################################
## Script formulario de correo mail.php ##
#################################

  ## VARIABLES
  ## Dirección de tu correo
$micorreo="tucuenta@tudominio.com";
  ## Asunto axiliar si no lo introduce un asunto que identifique la procedencia del correo.
$xasunto="Correo desde tu pagina";
 ## Pagina final de gracias. Si el formulario no incluye este campo oculto del formulario.
$gracias_defecto="http://www.buscarportal.com";
  ## Página final si se produce un error al enviar el correo
$error_correo="http://www.buscarportal.com/anuncios/error_correo.html";
  ## variable auxiliar, que produce un salto de línea
$retorno="\r\n";

  ## CABECERAS DE CORREO
  ## Diversas cabeceras para el correo. Luego, lo usaremos para enviar el correo.
  ## $nombre $correo son variables que contienen los valores de: nombre y correo del formulario.
$headers = "MIME-Version: 1.0\r\n" ;
  ## campos y variables nombre, $nombre y correo $correo. No puede ser modificado su nombre en el form
  ## Han de mantenerse en el formulario para utilizar el mismo script con distintos formularios
  ## Añadimos esta linea por compatibilidad, Ver la Explicación
$nombre=$HTTP_GET_VARS['nombre'];$correo=$HTTP_GET_VARS['correo'];
  ## Origen del mensaje
$headers .= "From: $nombre<$correo>\r\n";
  ## Responder al correo
$headers .= "Reply-To: $correo<$correo>\r\n";
  ## Otras cabeceras que pueden ponerse si ocurren problemas u omitirse si todo va bien.
  ## Obligatoriamente, cada elemento de la cabecera termina en \r\n Nueva línea.
  ## $headers .= "X-Mailer: PHP/" . phpversion();
  ## $headers .= "X-Sender: $correo<$correo>\r\n";
  ## $headers .= "Return-Path: <$correo>\r\n";
  ## $headers .= "Cc: $nombre<$correo>\r\n";

  ## CUERPO DEL MENSAJE INICIO
  ## Obtención de la IP del visitante
  ## Empezamos a contruir el mensaje final, sumando los elementos del mensaje
$mfinal.="IP visitante: ";
  ## Guardamos la IP del visitante
$mfinal.=$HTTP_SERVER_VARS['REMOTE_ADDR'];
$mfinal.=": ";
  ## Y el puerto del usuario
$mfinal.=$HTTP_SERVER_VARS['REMOTE_PORT'];
  ## añadimos dos retornos de línea
$mfinal.=$retorno;
$mfinal.=$retorno;

  ## CUERPO DEL MENSAJE AÑADIDO DE CAMPOS AL MENSAJE
  ## $vareliminar Número de botones del formulario y campos ocultos (últimos elementos) + 1 --> en este caso (1+1)
  ## Si queremos eliminar del mensaje el campo oculto de la página final $vareliminar=3;
$vareliminar=2;
  ## Almacenar en un array los nombres de variables del formulario enviado
$claves_array=array_keys ($HTTP_GET_VARS);
  ## de i=0 hasta el número de campos del formulario, - variables a eliminar
for ($i=0;$i<=(count($HTTP_GET_VARS)-$vareliminar);$i++){
  ## Obtenemos el nombre de cada campo en concreto
$nombrevar=$claves_array[$i];
  ## Sumamos el nombre de campo de formulario al mensaje final
$mfinal .= $nombrevar;
$mfinal .= ": ";
  ## Y añadimos el contenido que haya introducido nuestro visitante
$mfinal .= $HTTP_GET_VARS[$nombrevar];
  ## Separamos cada campo por dos retornos, podemos eliminar uno
$mfinal .= $retorno;
$mfinal .= $retorno;
}
  ## Si no hay asunto, o no contiene nada, le damos al email un asunto defecto
if (is_null($asunto)){ $asunto2="correo desde la web";}
  ## Si hay asunto, añadimos un prefijo propio para identificar que es correo desde la web.
else { $asunto2 ="Asunto-> $asunto"; }

  ## ENVÍO DEL CORREO
  ## Para finalizar, envíamos el correo, y comprobamos el resultado
$resultado=mail($micorreo, $asunto2, $mfinal, $headers);
  ## Si quisiésemos enviar un mensaje de acuso de recibo, añadimos esta línea, sabiendo que:
  ## tenemos que asignar estas variables $asuntoreply (Asunto), $mreply (mensaje), $headers2(mensaje)
  ## de modo similar a como hemos construido las variables anteriores
  ## $resultado2=mail($correo, $asuntoreply, $mreply, $headers2);

  ## COMPROBACIÓN
  ## Si no se ha podido enviar el correo.
if ($resultado ==true)
{
  ## Si no hay página de gracias carga las página de defecto
if (is_null($pagina_gracias)){ header( "Location: $gracias_defecto" );}
else{
  ## Si hay página de gracias, cárgala
header( "Location: $pagina_gracias" );
}
}
  ## Si se ha producido un error, advierte al usuario
else header( "Location: $error_correo" );
?>

Recuerde, que este scrip asp, tiene asociado un formulario, común al script asp, que usted puede ver aquí

Nota adicional: Para quienes reciben correos en blanco sin los datos.

El tamaño de los datos que se pueden enviar, está limitado. Podéis probar con Post, que en teoría admite un mayores tamaños.. Cambiando la variable $HTTP_GET_VARS por $HTTP_POST_VARS ó $_POST. Adicionalmente podemos probar $_GET por $HTTP_GET_VARS. A mi, para get, solo me sirve la primera forma, $HTTP_GET_VARS, y la segunda forma $_POST para post.

Caracteres especiales y comillas, producen errores. Podemos arreglarlos con las funciones mysql_escape_string(), addslashes() ...
La pega, es que nos modifica el texto. Si no lo vamos a usar con echo para imprimir en pantalla, recordar esto.
Cambiar $mfinal .= $HTTP_GET_VARS[$nombrevar];  por $mfinal .= mysql_escape_string($HTTP_GET_VARS[$nombrevar]);

Por último. Puedes revisar tu php.ini, puedes comprobar el estado de la configuración con la función <? phpinfo(INFO_MODULES); ?> lo guardas en una página php. Y al ejecutar, te da la información de la configuración del interprete php.
Puedes modificar la configuración de php en el archivo .htaccess que está en la dirección del raiz. Pero que puede estar en cualquier subdirectorio afectando a su comportamiento. De modo que solo afecte a los scripts de este directorio.
Antes de empezar, puede que no exista el .htaccess, o que esté oculto. Puedes acceder a el en este caso desde el sistema web de administración de archivos. Ten cuidado, porque un error, puede impedir el acceso a todo el sitio. Así que lo primero copia de seguridad.
Mejor te creas un directorio y un .htaccess inclyendo los scrpts que quieras correr con otra modificación. Debería de funcionar localmente. Si sigues recibiendo correos en blanco, prueba a poner estas dos líneas en el archivo.

php_flag register_globals On
php_flag register_argc_argv On

Tal como están. El rendimiento es menor, pero admite referenciar parámetros de la página directamente sin $http_ ......

 


Articulo confeccionar scipts php de correo y mail
 

© Héctor Fernández Pereda, Europe, Spain, Asturias ---- @EMAIL
Visite Asturias


TRANSLATE  --  TRADUCTION  --  TRADUZIONE  --  ÜBERSETZUNG

 



Buscadoresde Esponsors - Tabla de enlaces utiles Marketing en Internet
Anuncios de Derecho y Economia Dominios - Calidad - iso9001 -
Recomendamos que visite estos enlaces. Calidad de contenidos de gran utilidad

Transportes de Carretera

- Banners - Juegos Online Gratis Altas y Registros en Buscadores
Moviles WallPapers - Bolsas EEUU -Alojamiento Web
Enlaces que recomendamos en buscarportal. Buenas páginas que son muy demandadas en inernet
Cursos Gratis sobre Energia - Bases de Datos ms Access Miel - - Graficos de Bolsa
Chat Prensa y Noticias Promocion de Diseño Paginas Web


Promoción Web en Buscadores Alta en Buscadores Diseño de Paginas Web Buscadores Telefonos Moviles Telefonia Chats canales irc Portales Servicios Informacion Mapas Previsiones el Tiempo Posicionamiento en Buscadores Mapas de Viaje  Rutas de carretera Webmasters
Alojamiento Web Dominios Internet Marketing portal