Foros del Web » Programando para Internet » PHP »

Ayuda con phpmailer

Estas en el tema de Ayuda con phpmailer en el foro de PHP en Foros del Web. Hola, he buscado por el foro pero no di con la respuesta la verdad, aqui expongo mi problema: Uso phpmailer en una web, para mandar ...
  #1 (permalink)  
Antiguo 05/10/2010, 11:32
 
Fecha de Ingreso: julio-2010
Mensajes: 121
Antigüedad: 13 años, 8 meses
Puntos: 0
Ayuda con phpmailer

Hola, he buscado por el foro pero no di con la respuesta la verdad, aqui expongo mi problema:


Uso phpmailer en una web, para mandar correos a la gente que se registra, y tambien mediante un formulario para que los usuarios de la web puedan mandar mensajes al correo del webmaster.


El problema es que me gustaria que cuando un usuario rellena el formulario para mandar un correo al webmaster (yo en este caso), al abrir el correo, pueda ver la direccion a la que responder al email.

Uso el replyto, pero me da error:

"Fatal error: Cannot access private property PHPMailer::$ReplyTo in C:\xampp\xampp\htdocs\tienda\funciones\enviarcorre o.php on line 35"


En el codigo de la funcion para enviar el correo tengo lo siguiente:

Código:
$mail->ReplyTo = $_SESSION['email'];
Decir que en la variable de sesion tengo almacenada correctamente la direccion de email del usuario activo en el sistema en dicho momento.



Para ambos casos uso el envio mediante SMTP mediante una cuenta de gmail (cuando alguien se registra, se manda un correo al usuario registrado con el remite del webmaster, y lo mismo pasa cuando recibe una consulta el webmaster, pero me gustaria que se pudiera cambiar para responder al correo del usuario)
  #2 (permalink)  
Antiguo 05/10/2010, 11:51
 
Fecha de Ingreso: septiembre-2010
Ubicación: Malaga
Mensajes: 47
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: Ayuda con phpmailer

Hola

Creo que deberias de hacerlo con:

$mail->AddReplyTo($_SESSION['email']);
  #3 (permalink)  
Antiguo 05/10/2010, 11:59
 
Fecha de Ingreso: julio-2010
Mensajes: 121
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Ayuda con phpmailer

Cita:
Iniciado por Oasis8 Ver Mensaje
Hola

Creo que deberias de hacerlo con:

$mail->AddReplyTo($_SESSION['email']);


Acabo de probarlo pero nada, al recibir el correo, y darle a responder, no me sale la direccion de email del usuario que envia el mensaje.....

No se si se podra realizar lo que pido, ya que los mensajes los envio a traves de GMAIL, usando una cuenta con su password, y al darle a responder, me sale esa misma cuenta.


A ver si alguien puede ayudarme o me da alguna solucion para hacerlo de otro modo, gracias por tu respuesta oasis
  #4 (permalink)  
Antiguo 06/10/2010, 08:54
 
Fecha de Ingreso: julio-2010
Mensajes: 121
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Ayuda con phpmailer

He probado mas cosas y no hay manera, a ver si alguien puede echarme un cable por favor.

El caso es que con replyto deberia funcionar segun lo que leo, pero no es el caso.
  #5 (permalink)  
Antiguo 07/10/2010, 02:44
 
Fecha de Ingreso: septiembre-2010
Ubicación: Malaga
Mensajes: 47
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: Ayuda con phpmailer

Hola

He realizado la sigueinte prueba, aunque no se si se ciñe a lo que quieres.

Código PHP:
Ver original
  1. include('class.phpmailer.php');
  2.    
  3.     $mail_emisor    = "emisor[arroba]mail.es";
  4.     $mail_receptor  = "receptor[arroba]mail.es";
  5.     $mail_replica   = "replica[arroba]mail.es";
  6.     $mail_confirma  = "confirm[arroba]mail.es";
  7.    
  8.     $asunto = "Asunto del mensaje";
  9.     $message  = "Cuerpo del mensaje, bla bla bla...";
  10.  
  11.        $mail = new phpmailer();
  12.        $mail->PluginDir = "inc_21/";                       
  13.    
  14.     $mail->Mailer = "smtp";
  15.     $mail->Host = "smtp.servidor.com";
  16.     $mail->SMTPAuth = true;
  17.     $mail->Username = "usuariomail";
  18.     $mail->Password = "clavemail";
  19.  
  20.     $mail->From = $mail_emisor;
  21.     $mail->FromName = "Emisor de prueba";
  22.     $mail->Subject =  $asunto;
  23.     $mail->Body = $message;
  24.     $mail->Timeout=120;    
  25.     $mail->IsHTML(false);                  
  26.  
  27.     $mail->ConfirmReadingTo = $mail_confirma;
  28.     $mail->AddAddress($mail_receptor);
  29.     $mail->AddReplyTo($mail_replica);
  30.    
  31.     //$mail->AddCC("...");
  32.     //$mail->AddBCC("...");
  33.  
  34.    
  35.     $exito = $mail->Send();
  36.  
  37.    
  38.     if(!$exito) {
  39.         echo "Problemas enviando correo electrónico a ".$correo;
  40.         echo "<br/>".$mail->ErrorInfo; 
  41.     } else {
  42.         echo "Mensaje enviado correctamente";
  43.     }

Funciona todo como se esperaba, al abrirlo en el receptor y darle a responder, aparece como receptor el correo de replica y en el correo de confirmacion se recibe la confirmacion de lectura.

Esta prueba esta realizada sobre un smtp normal, no de Gmail.
  #6 (permalink)  
Antiguo 07/10/2010, 08:38
Avatar de cemansilla  
Fecha de Ingreso: septiembre-2007
Ubicación: Buenos Aires, Argentina, Argentina
Mensajes: 214
Antigüedad: 16 años, 7 meses
Puntos: 6
Respuesta: Ayuda con phpmailer

Ese error se debe, como bien dice la descripción en inglés, a que estás intentando modificar un atributo privado ($ReplyTo) de la clase PHPMailer.

Como bien dijo Oasis8 deberías probar con algún método que se encargue de inicializar la variable.
__________________
CÉSAR MANSILLA
Web & Mobile Developer - Analista - Creativo - Curioso
http://cesarmansilla.com/
http://cesarmansilla.com/blog/
  #7 (permalink)  
Antiguo 07/10/2010, 08:41
 
Fecha de Ingreso: febrero-2010
Mensajes: 818
Antigüedad: 14 años, 2 meses
Puntos: 55
Respuesta: Ayuda con phpmailer

Código PHP:
//doc oficial dice que se usa asi
$mail->AddReplyTo('[email protected]''First Last'); 
  #8 (permalink)  
Antiguo 07/10/2010, 09:33
 
Fecha de Ingreso: julio-2010
Mensajes: 121
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Ayuda con phpmailer

Yo creo que no va a ser posible, ya que uso la misma cuenta de gmail para que envie el correo y para recibirlo, entonces cuando recibo el correo, si le doy a MOSTRAR DETALLES, si me sale el email que puse en "addreplyto" pero dando al boton en gmail de RESPONDER la respuesta me la manda a la misma cuenta de correo.

Supongo que no se pueda, ya que si no de este modo se podrian mandar correos a gente con la direccion de otra persona que en realidad no envio nada.

Etiquetas: phpmailer
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:52.