Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/10/2010, 08:13
Avatar de moNTeZIon
moNTeZIon
 
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 17 años, 4 meses
Puntos: 9
Qué pasa con los correos devueltos enviados con la función mail()

Muy buenas.
Inicio este hilo, aunque vengo de este otro:
http://www.forosdelweb.com/f18/email-devuelto-678233/
Todo lo comentado en ese post está muy bien, pero no me convence.
Lo sorprendente es que haya que pasar por el administrador de un servidor para poder hacer la simpleza de enviar un email.

Por lo que veo, la función mail() envía un correo en nombre del propio servidor, con lo que si el correo enviado es devuelto por cualquier motivo, ese mail devuelto lo recibe el administrador del servidor.

Como la mayoría esperamos, si mando un correo desde la cuenta X , lo más lógico es que esa sea la cuenta notificada con los posibles errores de entrega.

De hecho, con otros lenguages de programación, para enviar un mail, es imprescindible informar de la cuenta que envía, la cuenta destino, los servidores, nombres de usuario contraseña, etc... Todo esto, precisamente para autenticar el envío. Dicho de otro modo, de esta forma "emulamos" el mismo comportamiento de como si el correo fuera enviado desde esa cuenta.
Por lo tanto, cuando un correo es devuelto por cuelquier motivo, esa cuenta que envía es la que recibe el correo devuelto.

¿Por qué cuesta tanto encontrar la solución a enviar un correo mediante PHP cumpliendo este simple requisito?
HE encontrado varias soluciones que ninguna de ellas funciona. O quizás haya que ir acompañada de algún otro detalle que no se dice.
He encontrado soluciones como especificar explícitamente en las cabeceras del mail el From, el Reply To, el Return Path, pero que va! El correo llega pero los devueltos llegan al administrador.

A continuación les dejo el código utilizado, y les aseguro que el devuelto no llega a la cuenta de origen, si no a la cuenta administradora del servidor.

Código PHP:
<?php
// multiple recipients
$to  '[email protected]', '// note the comma
$to .= '[email protected]';

// subject
$subject 'Asunto de Prueba';

// message
$message '
<html>
<head>
  <title>Titulo de Prueba</title>
</head>
<body>
  <p>Texto de Prueba!</p>
  <b>Texto en Negrita</b>
</body>
</html>
'
;

// To send HTML mail, the Content-type header must be set
$headers  'MIME-Version: 1.0' "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' "\r\n";

// Additional headers
$headers .= 'From: cuenta1 <[email protected]>' "\r\n";
$headers .= 'Reply-To: [email protected]"\r\n";
$headers .= 'Return-Path: [email protected]"\r\n";

// Mail it
mail($to$subject$message$headers'[email protected]');
?>
La función mail() tiene un quinto parámetro, y ya he probado haciendo uso de él, y también sin hacer uso de él.
Se supone que [email protected] debería recibir los correos devueltos.
En cualquiera de los casos, sigo sin recibirlo. Los recibe el administrador del sistema.

Gracias por sus aportaciones.
Saludos.
__________________
..:: moNTeZIon ::..