Foros del Web » Programando para Internet » PHP »

enviar email en php

Estas en el tema de enviar email en php en el foro de PHP en Foros del Web. buenas tengo una duda a la hora de hacer el formulario contacto en php.. tengo este code .. Código PHP: <?php if (( $nombre == "" ...
  #1 (permalink)  
Antiguo 22/09/2009, 16:03
 
Fecha de Ingreso: noviembre-2008
Mensajes: 49
Antigüedad: 15 años, 5 meses
Puntos: 0
Información enviar email en php

buenas tengo una duda a la hora de hacer el formulario contacto en php.. tengo este code ..

Código PHP:
<?php
if (($nombre=="") || ($email=="") || ($mensaje=="")) {
    
header('location:http:/mail.html');
    exit;  }

$msg="estos son los datos recibidos\n";
$msg="Nombre :$nombre\n";
$msg="Email  :$nombre\n";

$para="[email protected]";

$asunto="$nombre,Envio un mensaje";

mail($para,$asunto,$msg);
?>
quiero agregarle la funcion "eregi" en tal caso que falte el @ en el campo mail,

lo hago de esta manera :
Código PHP:
<?php
if (($nombre=="") || ($email=="") || ($mensaje=="")) {
    
header('location:http:/mail.html');
    exit;
if (!
eregi("@",$email)) {  
    
header('location:http:/mail.html');
    exit;
    }
    }
else{
$msg="estos son los datos recibidos\n";
$msg="Nombre :$nombre\n";
$msg="Email  :$nombre\n";

$para="[email protected]";

$asunto="$nombre,Envio un mensaje";

mail($para,$asunto,$msg);
}
?>
aun asi no se da lo que quiero, espero me puedan ayudar

Última edición por carlosital; 22/09/2009 a las 16:16
  #2 (permalink)  
Antiguo 22/09/2009, 16:42
Avatar de jaao_death  
Fecha de Ingreso: abril-2009
Ubicación: Murcia/españa
Mensajes: 229
Antigüedad: 15 años
Puntos: 6
Respuesta: enviar email en php

eregi no sirve para saber si algun caracter existe o no, sino que sirve para comprobar si la cadena entregada como segundo argumento cumple con el formato del primer argumento, en todo caso creo que esta función es deprecated ahora no recuerdo la función que necesitas pero si buscas un poco en este foro encontrarás muchos patrones de formato para direcciones email y funciones con las que puedes hacer la comparación.
__________________
Mucha seguridad nunca es suficiente.... Por una red segura
El señor ilustre obscurece nuestras mentes
Usas Linux? http://www.dudalibre.com/gnulinuxcounter
  #3 (permalink)  
Antiguo 22/09/2009, 16:52
Avatar de bioxido  
Fecha de Ingreso: diciembre-2008
Ubicación: $_SERVER['PHP_SELF']
Mensajes: 601
Antigüedad: 15 años, 4 meses
Puntos: 21
Respuesta: enviar email en php

Mira, aca te dejo una funcion que sirve para validad el email...

Código PHP:
<?php
function comprobar_email($email){ 
    
$mail_correcto 0
    
//compruebo unas cosas primeras 
    
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," "))) { 
          
//miro si tiene caracter . 
          
if (substr_count($email,".")>= 1){ 
             
//obtengo la terminacion del dominio 
             
$term_dom substr(strrchr ($email'.'),1); 
             
//compruebo que la terminación del dominio sea correcta 
             
if (strlen($term_dom)>&& strlen($term_dom)<&& (!strstr($term_dom,"@")) ){ 
                
//compruebo que lo de antes del dominio sea correcto 
                
$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 
1
       
    else 
       return 
0
       


?>
  #4 (permalink)  
Antiguo 23/09/2009, 13:21
 
Fecha de Ingreso: noviembre-2008
Mensajes: 49
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: enviar email en php

joder un poco avanzado para mi.,. pero ahi vamos.. gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:26.