Foros del Web » Programando para Internet » PHP »

Guardar mail al enviarlo con phpmailer 4

Estas en el tema de Guardar mail al enviarlo con phpmailer 4 en el foro de PHP en Foros del Web. Hola estoy usando phpmailer para mandar mail pero no se me guardan como enviados. Alguien sabría como hacerlo o decirme algún sitio donde consultarlo? Saludos....
  #1 (permalink)  
Antiguo 29/09/2009, 13:52
 
Fecha de Ingreso: mayo-2008
Ubicación: Granada
Mensajes: 131
Antigüedad: 16 años
Puntos: 2
Guardar mail al enviarlo con phpmailer 4

Hola estoy usando phpmailer para mandar mail pero no se me guardan como enviados.

Alguien sabría como hacerlo o decirme algún sitio donde consultarlo?

Saludos.
  #2 (permalink)  
Antiguo 29/09/2009, 13:55
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Guardar mail al enviarlo con phpmailer 4

No es posible, cuando tu envias un mail usando mail() o phpmailer, el correo es enviado directamente vía SMTP al servidor remoto para su entrega.

Si tu quieres tener una copia, debes de agregarte al campo CC, o BCC, o en su caso enviar nuevamente el mail a tu correo personal.

Saludos.
  #3 (permalink)  
Antiguo 29/09/2009, 14:05
 
Fecha de Ingreso: mayo-2008
Ubicación: Granada
Mensajes: 131
Antigüedad: 16 años
Puntos: 2
Respuesta: Guardar mail al enviarlo con phpmailer 4

Si eso lo había pensado antes mandar otro, pero no sabría como hacer para que se quedara en correos enviados (INBOX.Sent) como pasa cuando lo envío desde gmail o cualquier sitio así.
  #4 (permalink)  
Antiguo 29/09/2009, 15:44
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Guardar mail al enviarlo con phpmailer 4

Como te comento eso no es posible, ya que PHP solamente trabaja a nivel del servidor SMTP, y no con el Mailbox local.

Saludos.
  #5 (permalink)  
Antiguo 29/09/2009, 15:52
 
Fecha de Ingreso: mayo-2008
Ubicación: Granada
Mensajes: 131
Antigüedad: 16 años
Puntos: 2
Respuesta: Guardar mail al enviarlo con phpmailer 4

Alguna forma abra si no como lo hacen por ejemplo en el mail del servidor donde lo tengo o hotmail por ejemplo, tiene que poderse hacer de alguna forma pero no tengo idea de como puede ser aunque no sea con php.

Última edición por cristofer-2006; 29/09/2009 a las 16:02
  #6 (permalink)  
Antiguo 29/09/2009, 15:59
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Guardar mail al enviarlo con phpmailer 4

Lo que pasa es que esos trabajan sobre el mailbox local, tu al hacerlo por PHP solo estas enviando un correo, esos sistemas copian el correo a la carpeta porque ya tienen el acceso local, lo cual tu no puedes hacer desde código.

Para hacer eso tendrías que entonces usar la extensión imap de PHP y entrar al servidor IMAP con las credenciales del mailbox, crear el correo y copiarlo a la carpeta de Send (ojo esto solo aplica si tienes configurado tu correo y aparte soporta IMAP, esto no es posible vía POP).

Saludos.
  #7 (permalink)  
Antiguo 29/09/2009, 15:59
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 2 meses
Puntos: 535
Respuesta: Guardar mail al enviarlo con phpmailer 4

Es que un webmail (hotmail, gmail, etc) no son un simple formulario que utiliza una función de PHP para enviar emails, no. Son toda una aplicación gigantezca en donde una y sólo una de sus funcionalidades es almacenar el email enviado en, por ejemplo, una base de datos. Cosa que vos mismo lo podés hacer.
__________________
...___...
  #8 (permalink)  
Antiguo 29/09/2009, 16:08
 
Fecha de Ingreso: mayo-2008
Ubicación: Granada
Mensajes: 131
Antigüedad: 16 años
Puntos: 2
Respuesta: Guardar mail al enviarlo con phpmailer 4

No se bien a que te refieres pero puedo crear una conexion IMAP para ver los mail recibidos por ejemplo.

Lo de almacenar los mail en una base de datos lo había pensado pero no se si vale la pena ya que están almacenados en el mail.
  #9 (permalink)  
Antiguo 29/09/2009, 19:18
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Guardar mail al enviarlo con phpmailer 4

Eso es justamente lo que hace un cliente POP3, almacena los mails en carpetas locales, por eso si formateas tu compu pierdes los mails.

El único protocolo que acepta carpetas sincronizadas es IMAP y Exchange, pero como te comento es más complicado ya que tu servidor lo debe de soportar.

Saludos.
  #10 (permalink)  
Antiguo 30/09/2009, 02:43
 
Fecha de Ingreso: mayo-2008
Ubicación: Granada
Mensajes: 131
Antigüedad: 16 años
Puntos: 2
Respuesta: Guardar mail al enviarlo con phpmailer 4

Si, yo creo que puedo. Para leerlos creo una conexion IMAP por el puerto 143 con imap_open, es a eso a lo que te refieres que tendría que aceptar mi servidor?

Última edición por cristofer-2006; 30/09/2009 a las 03:40
  #11 (permalink)  
Antiguo 30/09/2009, 12:43
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Guardar mail al enviarlo con phpmailer 4

Aparte de eso tu cliente de correo que uses (Outlook, Thunderbird, etc.) tiene que estar configurado de esa misma forma.

Saludos.
  #12 (permalink)  
Antiguo 30/09/2009, 13:04
 
Fecha de Ingreso: mayo-2008
Ubicación: Granada
Mensajes: 131
Antigüedad: 16 años
Puntos: 2
Respuesta: Guardar mail al enviarlo con phpmailer 4

No, lo estoy haciendo todo por código osea lo que quiero es hacer yo el cliente y de momento creo que me falta solo eso, que cuando mande un mail se guarde en enviados. Osea cuando yo consulto INBOX.Sent

Saludos
  #13 (permalink)  
Antiguo 30/09/2009, 13:18
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Guardar mail al enviarlo con phpmailer 4

Como te comento, el problema es ese debes de hacerlo en los dos lados, en tu código vas a tener que crear un mail usando las reglas de la RFC, y subirlo al servidor (enviandolo usando mail también), marcarlo como leído y moverlo a la carpeta de INBOX.Sent (usando la extensión imap).

Posteriormente vas a tener que configurar tu cliente de correo ya sea Outlook, Thunderbird, etc de la misma forma que entre vía IMAP y así vas a poder ver los correos en la carpeta INBOX.Sent al hacer un synchronize con el servidor.

Tercero vás a tener que finalmente enviar el mail al usuario usando mail() para que le llegue a su bandeja de entrada.

Saludos.
  #14 (permalink)  
Antiguo 30/09/2009, 17:05
 
Fecha de Ingreso: mayo-2008
Ubicación: Granada
Mensajes: 131
Antigüedad: 16 años
Puntos: 2
Respuesta: Guardar mail al enviarlo con phpmailer 4

Hola para mover el mail e encontrado esto:

imap_mail_move($mbox,$messageset,"INBOX/Sent");

Esto $messageset se supone que seria algun identificador, pero no se como saberla y tampoco encuentro nada para marcar los mail como leidos.

Saludos
  #15 (permalink)  
Antiguo 30/09/2009, 21:39
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Guardar mail al enviarlo con phpmailer 4

Ese es el número de mensaje que vas a mover, para obtener los mensajes vas a tener que ciclar el inbox y obtener los mensajes usando: imap_num_msg posteriormente analizar cual es el que enviaste y moverlo.

Para marcarlo como leído usas imap_setflag_full.

Saludos.
  #16 (permalink)  
Antiguo 02/10/2009, 08:56
 
Fecha de Ingreso: mayo-2008
Ubicación: Granada
Mensajes: 131
Antigüedad: 16 años
Puntos: 2
Respuesta: Guardar mail al enviarlo con phpmailer 4

Hola estoy mirando pero como ciclo no entiendo.

por ejemplo:

Guardo el asunto, mail del destinatario y mensaje para luego compararlo asta encontrar uno igual y moverlo? o hay alguna solución mejor.

Para moverlo lo hago asi:

imap_mail_move ($inbox,$n_mail,'INBOX.Sent');
imap_delete ($inbox, $n_mail);
imap_expunge ($inbox);

Tengo que borrarlo por que se queda hay, es raro por que la funcion es para mover no copiar que hay otra.

Saludos
  #17 (permalink)  
Antiguo 02/10/2009, 10:26
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Guardar mail al enviarlo con phpmailer 4

Pues no tendrías que borrarlo, pero si es necesario el expunge ya que si no, no ves los cambios hasta que lo haces.

Saludos.
  #18 (permalink)  
Antiguo 04/10/2009, 18:15
 
Fecha de Ingreso: mayo-2008
Ubicación: Granada
Mensajes: 131
Antigüedad: 16 años
Puntos: 2
Respuesta: Guardar mail al enviarlo con phpmailer 4

Es verdad no hace falta borrarlo e probado sin eso y va igualmente.

Muchas gracias por la ayuda.

Saludos
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 22:22.