Foros del Web » Programando para Internet » PHP »

Problemas con formulario mail()

Estas en el tema de Problemas con formulario mail() en el foro de PHP en Foros del Web. Hola Tengo un formulario que se envia mediante la funcion mail(); que me está causando problemas: Cuando me envian algún mail me llega el mensaje ...
  #1 (permalink)  
Antiguo 02/02/2006, 01:56
 
Fecha de Ingreso: febrero-2004
Ubicación: Barnacity
Mensajes: 318
Antigüedad: 13 años, 10 meses
Puntos: 8
Problemas con formulario mail()

Hola

Tengo un formulario que se envia mediante la funcion mail(); que me está causando problemas:

Cuando me envian algún mail me llega el mensaje correctamente pero lo suelen acompañar dos o tres con el siguiente mensaje:

"Prueba de correo" y en la cabecera: "From: <[email protected]: [email protected]MIME-Version: 1.0nContent-type: text/[email protected]>; <[email protected]>"

Código PHP:
<?
if (!$HTTP_POST_VARS){ 
?>
    <form name="formulario" id="formulario" action="paginadelformulario.php" method="post">
    <fieldset class="fi"><legend class="le">Formulario de contacto</legend>
    <label for="nombre" class="lab">Nombre/empresa:</label><input type="text" name="nombre" class="campo"/>
    <label for="telefono" class="lab">Teléfono:</label><input type="text" name="telefono" class="campo"/>
    <label for="mail" class="lab">E-mail:</label><input type="text" name="mail" class="campo"/>
    <label for="comentario" class="lab"></label><textarea id="comentario" name="comentario" class="campo"></textarea>
    <input type="submit" id="enviar" class="enviar" name="enviar" value="Enviar"/></fieldset>
    </form>
    <?
}else{
    
$cuerpo "Formulario enviado\n";
    
$cuerpo .= "Nombre: " $HTTP_POST_VARS["nombre"] . "\n";
    
$cuerpo .= "Email: " $HTTP_POST_VARS["mail"] . "\n";
    
$cuerpo .= "Comentarios: " $HTTP_POST_VARS["comentario"] . "\n";
    
$cabeceras "From: [email protected]\r\n" "MIME-Version: 1.0\n" "Content-type: text/html; charset=iso-8859-1";
    
mail("[email protected]","Formulario recibido",$cabeceras,$cuerpo);
    echo 
"Su consulta ha sido enviada con éxito. Recibirá nuestras notícias.";
}
?>
Puede ser problema de mi host?
  #2 (permalink)  
Antiguo 02/02/2006, 08:20
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Tienes una buena ensalada con respecto a los "separadores" de las cabeceras HTTP .. en algunas usas un \n y otras \r\n .. o no las usas en todas.

Dependiendo del S.O. del servidor que envie ese e-mail (el MTA que uses bajo PHP) y de quien lo reciba .. así serán interpretadas esas cabeceras. Si no interpreta bien un "salto de línea" ("separador" como es \n .. o \r\n) no interpretará esa cabecera como independiente que debe ser sino como algo como lo que observas.

Revisa la documentación oficial de mail() Y observaciones al respecto:
http://www.php.net/manual/en/function.mail.php

Fijate en los ejemplos .. usa \r\n como "salo de línea" .. también ten presente el orden de las cabeceras (que no sé si "altera el producto") pero por si a caso .. (no me he leido las RFC's correspondientes al protocolo SMTP) ..

Un saludo,
  #3 (permalink)  
Antiguo 02/02/2006, 08:35
Avatar de carlosfocus  
Fecha de Ingreso: enero-2006
Ubicación: Venezuela
Mensajes: 823
Antigüedad: 11 años, 10 meses
Puntos: 0
Cierto cluster, debes organizar bien las cabezeras, del resto esta todo bien.
__________________
Carlos Herrera
Web Developer
www.carlos.com.ve
Para descargar archivos propios a su Teléfono Mobil? www.carlosfocus.com
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 20:23.