Foros del Web » Programando para Internet » PHP »

La función mail() no me toma el destinatario de $_Post

Estas en el tema de La función mail() no me toma el destinatario de $_Post en el foro de PHP en Foros del Web. Hola a todos, Sigo con mis errores de principiante, lo siento pero es lo que tiene ser autodidacta, que al comienzo uno mete la pata ...
  #1 (permalink)  
Antiguo 23/01/2012, 07:20
 
Fecha de Ingreso: diciembre-2011
Ubicación: Madrid
Mensajes: 7
Antigüedad: 12 años, 4 meses
Puntos: 1
La función mail() no me toma el destinatario de $_Post

Hola a todos,

Sigo con mis errores de principiante, lo siento pero es lo que tiene ser autodidacta, que al comienzo uno mete la pata en chorradas.

La cosa es que tengo un formulario en una página que me recoge los datos del internauta. Al hacer clic en enviar, el método 'action' lleva a otra página donde realizo el INSERT a la base de datos y donde ejecuto mail() para el envío de un correo electrónico con el código de activación de su cuenta.

Pues bien, si en la variable $destinatario introduzco directamente el correo electrónico ('[email protected]) todo funciona correctamente, pero si introduzco el mail a través del método $_Post ($_Post['mail']), no me realiza el envío. Y la cosa es que la variable se guarda correctamente, pues la imprimo y me da el valor correcto (el correo electrónico) y además se guarda en la base de datos correctamente. ¿Cuál es el problema?

Os dejo los pedazos de código fundamentales:


Código PHP:
//Aquí va el INSERT con el query sobre la base de datos...

$destinatario '$_POST["mail"]';
$asunto 'Urban Cloud - Activación de cuenta'
$cuerpo 
<html> 
<head> 
   <title>Prueba de correo</title> 
</head> 
<body> 
<h1>Hola amigos!</h1> 
<p> 
<b>Bienvenidos a mi correo electrónico de prueba</b>. Estoy encantado de tener tantos lectores. Este cuerpo del mensaje es del artículo de envío de mails por PHP. Habría que cambiarlo para poner tu propio cuerpo. Por cierto, cambia también las cabeceras del mensaje. 
</p> 
</body> 
</html> 
'


//para el envío en formato HTML 
$headers "MIME-Version: 1.0\r\n"
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n"

//dirección del remitente 
$headers .= "From: Miguel Angel Alvarez <[email protected]>\r\n"

//dirección de respuesta, si queremos que sea distinta que la del remitente 
//$headers .= "Reply-To: [email protected]\r\n"; 

//ruta del mensaje desde origen a destino 
$headers .= "Return-path: [email protected]\r\n"

//direcciones que recibián copia 
//$headers .= "Cc: [email protected]\r\n"; 

//direcciones que recibirán copia oculta 
//$headers .= "Bcc: [email protected],[email protected]\r\n"; 
Muchas gracias a todos por adelantado.
  #2 (permalink)  
Antiguo 23/01/2012, 08:04
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: La función mail() no me toma el destinatario de $_Post

Pues de hecho la sintaxis es incorrecta.
Código PHP:
// MAL
$destinatario '$_POST["mail"]'

// BIEN
$destinatario $_POST["mail"]; 
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 23/01/2012, 08:06
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 10 meses
Puntos: 394
Respuesta: La función mail() no me toma el destinatario de $_Post

$destinatario = '$_POST["mail"]'; Eso no esta bien ya que utilizas comillas simples que son completamente LITERALES y PHP no verifica valores de variables que estan entre comillas simples, en tu caso utiliza esto $destinatario = "$_POST["mail"]"; o simplemente no utilices comillas [COLOR="rgb(0, 100, 0)"]$destinatario = $_POST["mail"];[/COLOR]
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #4 (permalink)  
Antiguo 23/01/2012, 09:46
 
Fecha de Ingreso: diciembre-2011
Ubicación: Madrid
Mensajes: 7
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: La función mail() no me toma el destinatario de $_Post

Vaya, pues ya funciona, pero el caso es que había probado ya con todas las combinaciones posibles. Supongo que había alguna otra cosa que he corregido en el proceso. De cualquier forma, se solucionó gracias a vuestra ayuda :)

Muchas gracias

Etiquetas: correo, electronico, mail, mail()
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 21:09.