Script de mail en Php  

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.

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

  ## VARIABLES
  ## Dirección de tu correo
$micorreo="webmaster@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=" ";

  ## 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 " ;
  ## campos y variables nombre, $nombre y correo $correo. No pueden ser modificados
  ## Han de mantenerse en el formulario para utilizar el mismo script con distintos formularios
$headers .= "From: $nombre<$correo> ";
  ## Responder al correo
$headers .= "Reply-To: $correo<$correo> ";
  ## Otras cabeceras que pueden ponerse si ocurren problemas u omitirse si todo va bien.
  ## Obligatoriamente, cada elemento de la cabecera termina en Nueva línea.
  ## $headers .= "X-Mailer: PHP/" . phpversion();
  ## $headers .= "X-Sender: $correo<$correo> ";
  ## $headers .= "Return-Path: <$correo> ";
  ## $headers .= "Cc: $nombre<$correo> ";

  ## 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" );
?>

Fuente: Buscaportal

URL: http://www.buscarportal.com/articulos/scripts_correo_php.html 15/03/2006
Autor: Jorge
 ENVIAR ANUNCIOS A UN AMIGO...

 

·  

Tu Nombre:

·  

Tu E-mail:

·  

Nombre Destino:

·  

E-mail Destino:

·  

Tu Mensaje :

 

Quienes Somos? | Copyright | Términos y condiciones | Mapa del sitio
Copyright © 2006 TROGLOD.COM. All rights reserved. Leer Términos y condiciones