Foros del Web » Programando para Internet » PHP »

Encabezados de Correo Php

Estas en el tema de Encabezados de Correo Php en el foro de PHP en Foros del Web. Hola. Estoy usando un script para enviar correo directamente del php. Los encabezados que genera funcionan bien en hotmail, pero en Outlook la dirección de ...
  #1 (permalink)  
Antiguo 21/10/2003, 18:23
Avatar de Rafael
Modegráfico
 
Fecha de Ingreso: marzo-2003
Mensajes: 8.954
Antigüedad: 14 años, 9 meses
Puntos: 1802
Encabezados de Correo Php

Hola.

Estoy usando un script para enviar correo directamente del php.
Los encabezados que genera funcionan bien en hotmail, pero en Outlook la dirección de respuesta es la del servidor, y el nombre del que envía no aparece. ¿Que puedo hacer?

La forma tiene los campos:

Nombre
Correo
Asunto
Mensaje


El código es:

$Encabezados = "Content-type: text/html; charset=iso-8859-1 \r\n ".
"MIME-Version: 1.0 \r\n".
"From: $Nombre <$Correo> \r\n".
"Return-path: $Correo \r\n".
"X-Mailer: Microsoft Outlook Express 6.00.2720.3000";

mail("[email protected]", $Asunto, $Mensaje, $Encabezados);


Los encabezados que genera el OE6 son las siguientes:

Return-Path: <[email protected]>
Delivered-To: [email protected]
Received: (qmail 19360 invoked by uid 507); 21 Oct 2003 21:13:07 -0000
X-SMTPAuth-User:
Received: from unknown (HELO bender.servidordondeesta.net) (64.71.157.135)
by 0 with SMTP; 21 Oct 2003 21:13:07 -0000
Received: by bender.servidordondeesta.net (Postfix, from userid 1760)
id 0800C156022B; Tue, 21 Oct 2003 14:38:49 -0700 (PDT)
To: [email protected]
Subject: Pruebas
Content-type: text/html; charset=iso-8859-1
  #2 (permalink)  
Antiguo 21/10/2003, 20:20
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Prueba a usar el 5º parámetro de la función mail()

http://www.php.net/manual/en/function.mail.php
(Ojo .. sólo hacen mención de este parámetro en la versión en ingles de la función mail() de la documentación ..)

Cita:
Example 3. Sending mail with extra headers and setting an additional command line parameter.

Código PHP:
<?php
mail
("[email protected]""the subject"$message,
     
"From: [email protected]{$_SERVER['SERVER_NAME']}""[email protected]{$_SERVER['SERVER_NAME']}");
?>

Note: This fifth parameter was added in PHP 4.0.5. Since PHP 4.2.3 this parameter is disabled in safe_mode and the mail() function will expose a warning message and return FALSE if you're trying to use it.
Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 22/10/2003, 08:57
Avatar de X3mdesign  
Fecha de Ingreso: octubre-2003
Ubicación: Madrid
Mensajes: 640
Antigüedad: 14 años, 2 meses
Puntos: 2
Rafael.... te entra bien el correo por hotmail?? yo s que he ehecho un formulario y no me llegan a hotmail ni eresmas pero sí a latinmail... debe der por el antiSPAM... pero no entiendo porque porqu la estructura es igual que la mia...

$to = "[email protected]";
$subject = "$Nombre ha enviado estos comentarios sobre Nippon-Tour";
$mailheader = "MIME-Version: 1.0 \r\n";
$mailheader .= "Content-type: text/html; charset=iso-8859-1 \r\n";
$mailheader .= "From: Formulario Contactar de Web Nippon-Tour <$Email> \r\n";
$mailheader .= "Return-path: $Email \r\n";
$mailheader .= "X-Priority: 1 \r\n";
$mailheader .= "X-MSMail-Priority: High \r\n";
$mailheader .= "X-Mailer: PHP/".phpversion()." \n";

mail ($to,$subject,$mens,$mailheader);

véis algo raro??
__________________
Nippon-Tour, tu portal sobre Japón
¿Te gusta el manga, haces tus propios dibujos? Visita FanArt de Nippon-Tour
  #4 (permalink)  
Antiguo 22/10/2003, 15:58
Avatar de Rafael
Modegráfico
 
Fecha de Ingreso: marzo-2003
Mensajes: 8.954
Antigüedad: 14 años, 9 meses
Puntos: 1802
X3mdesign, si me llegan bien a hotmail, y también en otro dominio. Probaré con Yahoo, y otros, luego los reporto. El Problema es el Outlook.


Cluster, voy a revisar... aunque quien sabe si sea lo necesario, ya que el problema es que justamente aparece el server_name, en vez de los datos en el formulario.

Gracias.
  #5 (permalink)  
Antiguo 30/10/2003, 14:26
Avatar de Rafael
Modegráfico
 
Fecha de Ingreso: marzo-2003
Mensajes: 8.954
Antigüedad: 14 años, 9 meses
Puntos: 1802
Parece que es cuando el Outlook Jala el correo vía pop3.
  #6 (permalink)  
Antiguo 31/10/2003, 12:53
Avatar de Rafael
Modegráfico
 
Fecha de Ingreso: marzo-2003
Mensajes: 8.954
Antigüedad: 14 años, 9 meses
Puntos: 1802
Más concreto...

Ok. en el script estoy usando headers adicionales como:

"From: $Nombre <$Correo> \r\n".
"Return-path: $Correo \r\n".

y estoy enviándolo a 2 correos, el pop3 del dominio y uno de hotmail como referencia.

Viendo los headers recibidos en el correo de destino aparece que no fué asignado Return-path con el script, y se recibe:

Return-Path: midominio.[email protected]
en hotmail y

Return-Path: <[email protected]>
en el webmail de mi dominio.

Los From se reciben correctos en ambos casos.
Nombre <[email protected]>

Parece que cuando el Outlook cuando jala el correo de hotmail (que lo hace vía http, no pop3) usa el From como dirección de respuesta, pero cuando jala el de midominio.com, vía pop3 de alguna manera trata de jalar el Return-path, pero como este, por alguna extraña razón aparece con <> no aparece en el campo correspondiente al responder.

Ahora si... ¿Qué hagoooo?.
  #7 (permalink)  
Antiguo 31/10/2003, 14:44
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Usa la classe:

PHP Mailer
http://phpmailer.sourceforge.net

y olvidate de problemas .. Esa classe puede usar directamente un servidor SMTP para no usar mail()

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 16:54.