Foros del Web » Programando para Internet » PHP »

Tratar correo a una BD

Estas en el tema de Tratar correo a una BD en el foro de PHP en Foros del Web. Tengo una duda... os explico Me gustaría que todos los mails que me enviasen a [email protected] fuesen a parar a una base de datos de ...
  #1 (permalink)  
Antiguo 01/04/2008, 16:03
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Tratar correo a una BD

Tengo una duda... os explico

Me gustaría que todos los mails que me enviasen a [email protected] fuesen a parar a una base de datos de incidencias.

Como hago ese proceso¿? necesito un script, un automatismo u algo... que esté alerta cuando llega un email, lo coja y meta su contenido en una BD no?

Alguna idea?

Muchas gracias!
  #2 (permalink)  
Antiguo 01/04/2008, 16:05
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Tratar correo a una BD

Así es, necesitas un bot en PHP (o algún otro lenguaje) que lea cada X tiempo tu cuenta de correo (vía la extensión IMAP de PHP) y si encuentra algún correo nuevo lo inserte en la base de datos.

Para que este "bot" este corriendo continuamente seguramente necesitaras hechar mano de algún Cron Job.

Saludos.
  #3 (permalink)  
Antiguo 01/04/2008, 16:09
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Re: Tratar correo a una BD

Cita:
Iniciado por GatorV Ver Mensaje
Así es, necesitas un bot en PHP (o algún otro lenguaje) que lea cada X tiempo tu cuenta de correo (vía la extensión IMAP de PHP) y si encuentra algún correo nuevo lo inserte en la base de datos.

Para que este "bot" este corriendo continuamente seguramente necesitaras hechar mano de algún Cron Job.

Saludos.
Algo así me imaginaba pero como creo ese bot que lea mi cuenta de correo, no he hecho nada parecido. Solo enviar correos.

Algun sitio donde mirar, sugerencia GatorV?

Gracias
  #4 (permalink)  
Antiguo 01/04/2008, 16:30
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Tratar correo a una BD

Puedes ver la extensión IMAP de PHP y estudiar sus funciones.

En los comentarios vienen bastantes funciones ya implementadas.

Saludos.
  #5 (permalink)  
Antiguo 02/04/2008, 15:19
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Re: Tratar correo a una BD

Cita:
Iniciado por GatorV Ver Mensaje
Puedes ver la extensión IMAP de PHP y estudiar sus funciones.

En los comentarios vienen bastantes funciones ya implementadas.

Saludos.
Examinando la página solo he visto un codigo completo de ejemplo

Código PHP:
<HTML>
<HEAD>
<TITLE>imap_check</TITLE>
</HEAD>
<BODY>
<?
         
//check for new messages

         
$mailbox imap_open("{localhost/pop3:110}INBOX",
                 
"#username#","#password#");

         
// Check messages
         
$check imap_check($mailbox);
         print(
"<PRE>");
         print(
"Date most recent message : " $check->Date);
         print(
"<BR>");
         print(
"Connection type : " $check->Driver);
         print(
"<BR>");
         print(
"Name of the mailbox : " $check->Mailbox);
         print(
"<BR>");
         print(
"Number of messages : " $check->Nmsgs);
         print(
"<BR>");
         print(
"Number of recent messages : " $check->Recent);
         print(
"<BR>");
         print(
"</PRE>");

         
// show headers for messages

         
$index=1;

         
$header imap_header($mailbox$index);
         print(
"<PRE>");
         print(
"Header Date : " $header->Date "<BR>");
         print(
"Header To : " $header->to) . "<BR>";
         print(
"Header From : " $header->From "<BR>");
         print(
"Header cc : " $header->cc "<BR>");
         print(
"Header ReplyTo : " $header->ReplyTo "<BR>");
         print(
"Header Subject : " $header->Subject "<BR></PRE>");

         print(
"<PRE>");
         print(
imap_body($mailbox,$index));
         print(
"</PRE><HR>");

         
imap_close($mailbox);
?>

</BODY></HTML>
Y no entiendo como tengo que poner la conexión
$mailbox = imap_open("{localhost/pop3:110}INBOX",
"#username#","#password#");

Por mas que pruebo
www.miweb.com/pop3:110
www.miweb.com:110

No me sale ninguna pantalla para logearme

Se refiere al puerto donde me sale el gestor de correos "horde"?

Tengo que pedirselo al hosting?
Para usar esto hace falta instalar algo en el servidor o ya viene por defecto?

Gracias de nuevo men!
  #6 (permalink)  
Antiguo 02/04/2008, 15:45
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Tratar correo a una BD

La conexión que pone es porque debes de loguearte al servidor pop3, en el puerto que lo tengas instalado (por defecto es el 110), si tu pones desde tu web OBVIAMENTE no va a aparecer nada, ya que son puertos de servicio POP3, no son puertos WEB.

Saludos.
  #7 (permalink)  
Antiguo 03/04/2008, 00:57
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Re: Tratar correo a una BD

Cita:
Iniciado por GatorV Ver Mensaje
La conexión que pone es porque debes de loguearte al servidor pop3, en el puerto que lo tengas instalado (por defecto es el 110), si tu pones desde tu web OBVIAMENTE no va a aparecer nada, ya que son puertos de servicio POP3, no son puertos WEB.

Saludos.
Pero tengo que conectarme al puerto pop3 o al puerto imap (que sino me equivoco es el 143) esa es la duda que tengo.

(me choca que queramos usar la funcion "imap" y tenga que conectarme al puerto pop3)

Gracias
  #8 (permalink)  
Antiguo 03/04/2008, 11:52
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Tratar correo a una BD

Si tienes un servidor IMAP, es preferente que te conectes al servicio IMAP, pero si solo tienes un servidor POP3, tendrás que conectarte a el, la extensión IMAP soporta el servicio de POP3.

Saludos.
  #9 (permalink)  
Antiguo 04/04/2008, 00:55
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Re: Tratar correo a una BD

Cita:
Iniciado por GatorV Ver Mensaje
Si tienes un servidor IMAP, es preferente que te conectes al servicio IMAP, pero si solo tienes un servidor POP3, tendrás que conectarte a el, la extensión IMAP soporta el servicio de POP3.

Saludos.
Estoy intentando que funcione desde local pero conectandome al servidor imap de mi hosting.

Y he leido que deberia tener las librerias imap en mi directorio donde tengo PHP/ext

La cosa es que no tengo ninguna que se llama imap.

Tu lo has hecho servir alguna vez GatorV?

Sabes donde las puedo encontrar (para windows) , aunque el hosting es linux, me interesa probarlas primero en local y la máquina donde estoy tiene windows.....

Salu2
  #10 (permalink)  
Antiguo 04/04/2008, 09:13
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Tratar correo a una BD

La extensión se llama php_imap.dll y viene distribuida con php para windows, así que deberías de tenerla en tu extensions dir.

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 09:05.