Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/04/2009, 10:00
Oli_ar
 
Fecha de Ingreso: enero-2009
Mensajes: 19
Antigüedad: 15 años, 3 meses
Puntos: 0
Problema al enviar e-mail con funcción mail()

Hola a todos,

Desde hace bastante tiempo, utilizo un script en php para enviar los e-mailde los formularios de contacto que siempre me fue muy bien. Es el basico que se puede ver en la web de php y otras.

Aqui os lo pongo:

Código PHP:
$recipient"<el-mail-mio>";
$subject"Formulario web";
$message "<center><font size=\"4\"><b>Formulario de contacto web</b></font></center>";
$message.= "<br>Nombre y apellidos:&nbsp;<b>".$nombre."&nbsp;".$apellidos."</b>";
$message.= "<br>Dirección:&nbsp;<b>".$direccion."</b>";
$message.= "<br>Código Postal:&nbsp;<b>".$codigo."</b>";
$message.= "<br>Localidad:&nbsp;<b>".$localidad."</b>";
$message.= "<br>Provincia:&nbsp;<b>".$provincia."</b>";
$message.= "<br>Teléfono:&nbsp;<b>".$telefono."</b>";
$message.= "<br>Fax:&nbsp;<b>".$fax."</b>";
$message.= "<br>E-mail:&nbsp;<b>".$mail."</b>";
$message.= "<br>Consulta:&nbsp;<b>".$consulta."</b>\n";
$headers "From: ".$nombre."<".$mail.">\n";
$headers.= "Return-Path: <el-mail-mio>\n";  // Re-chemin de retour pour les erreurs
$headers.= "Content-Type: text/html; charset=iso-8859-1\n"// Type MIME
$confirmacion=mail($recipient$subject$message$headers); 
Todas las variables del script provienen del formulario que rellena el internauta. Y en $mail, es el e-mail del internauta y asi cuando se recibe el mail en el outlook o otro, se da directamente a responder para contestar.
Todo esto siempre funcciono de maravilla pero desde hace unos dias, al subir otra web, me di cuenta que ya no era capaz de mandar los mails de un internauta que tuviera un mail con un nombre de dominio hotmail punto com. Es decir que si el internauta del mail tiene loquesea arroba hotmail punto com, ya no se envia nada. Tenia la duda de si a lo mejor tampoco es que fuera antes pero he comprobado los mensajes recibidos con anterioridad y vi que si tenia mensajes con direcciones de hotmail punto com

Tambien he mirado en otros hosting que tengo y ahora tampoco me va en los otros con los mails de hotmail punto com

Entonces, me pusé en contacto con la gente que me suministra hosting y les explique el tema. anduvieron a mirar pero no me saben decir nada.

y investigando nos dimos de cuenta que si en el codigo en ves de escribir el From con F mayuscula se escribe con f minuscula, entonces, se envia el mensaje con cualquier e-mail que pueda tener el internauta.

Es decir en vez de
$headers = "From: ".$nombre."<".$mail.">\n";
si escribimos
$headers = "from: ".$nombre."<".$mail.">\n";

Entonces, funciona todo como antes. El problema es que me tendria que poner a cambiar eso en todas las web ya hechas. Ademas, tengo una web con joomla y me pasa el mismo problema. Y si me tengo que poner a buscar para cambiar eso, pierdo demasiado tiempo. Ademas que la solucion encontrada me parece ridicula añadiendo que todo funccionaba antes sin problema.

A ver si se le ocurre algo a alguien de este foro. No se si el problema viene de php, o del servidor de correo. Ellos usan postfix.

Un cordial saludo

Última edición por Oli_ar; 27/04/2009 a las 10:05