2009-07-17 11 views
6

Quiero enviar datos a emailaddress y guardarlos en una base de datos MySQL (PHP). ¿Cuál es la forma más fácil de hacer esto? (Sin puesto de forma, sin rizo, etc., simplemente correo electrónico)Mail to MySQL Database

+0

@todos: Estoy muy satisfecho de obtener sus respuestas tan rápido. –

+0

Todas sus ideas tienen su alcance especial. Los recordaré cuando tenga un gran problema. En mi caso especial, tomaré la solución de Dennis en la cuenta, porque encaja mejor. Muchas gracias @todos. –

+0

He votado todas las respuestas, porque todas son buenas en su alcance. –

Respuesta

4

Si el servidor no tiene IMAP, pero usted tiene un sistema exterior que tiene cron se puede escribir una página que comprueba la cuenta de correo electrónico y carga los datos en MySQL y luego configurar una secuencia de comandos en una máquina que tiene cron para administrar la página mysql una vez cada X minutos, donde X es la frecuencia con la que desea cargar los datos.

Alternativamente, si sabe que los correos electrónicos se cargarán rápidamente, puede configurar una pequeña tabla de campo en su base de datos con una marca de tiempo. Cada vez que se ejecuta el script PHP, comprueba la marca de tiempo y, si tiene más de 5 minutos, llama al script de carga del correo electrónico antes de cargar la página web.

+0

jajaja, esa es la idea. Hola Dennis, me alegras el día. –

+0

+1 Estaba editando mi respuesta para agregar la idea de verificar el correo electrónico por página –

+0

véalo como una bonificación para su trabajo; _) –

4

Si se puede acceder al correo electrónico mediante POP simplemente have a process comprobar el correo electrónico con POP functions y enviar todo a su base de datos

También se puede utilizar php IMAP support

+0

Ya tengo acceso y tomo su solución en cuenta. Pero la cuenta del servidor no tiene capacidades de cron. –

+0

Sin cron, no veo otra forma de hacerlo, que no sea utilizar otro servidor que tenga cron para llamar a la secuencia de comandos php o a un servidor de correo personalizado, que llame al script. –

+0

¿Quiere decir que el servidor no tiene capacidades de cron porque está en un servicio de alojamiento? –

3

Suponiendo que ya sabe cómo guardar los datos en mysql, necesitará acceder a un servidor de correo, ya sea el suyo, un webhosts, o puede usar uno gratuito como Gmail o Hotmail.

A continuación, puede utilizar las funciones IMAP de PHP (que también pueden acceder a POP) para acceder al correo. Artículos que pueden ayudarlo con esto: PHP imap info y a tutorial on creating PHP webmail

+0

Querido Nico, gracias por la alternativa. –

5

hay algunas maneras.

  • uso de un script de alias de sufijo, básicamente, Postfix recibe su correo y, a continuación, se ejecuta a través de una secuencia de comandos de su elección. El contenido del correo aparece en STDIN, luego puede hacer lo que quiera con el contenido del correo.

  • Usar un servidor de correo personalizado como James Apache, que está diseñado para procesar el correo, y 'hacer algo con él'

{Una buena poco encontré fue en los laboratorios de Google - http://freshmeat.net/projects/subethasmtp} - Se veía realmente bien.

pls tenga en cuenta que el correo electrónico no es un protocolo garantizado, si está tratando de hacer mensajes de aplicación a aplicación, ¡entonces hay formas probablemente mejores!

Espero que esto ayude., As

+0

Para mi problema real, no veo la forma de involucrarlo. :-(Pero muchas gracias por la pista. Para otras configuraciones esto funcionará. –

+0

si está utilizando el subetha, escribiría dos clases, una fábrica de mensajes personalizada y un manejador de mensajes personalizado. Cuando el servidor recibe un correo, crea uno de los objetos del manejador, y effectiley pasa el flujo de datos del objeto de mensaje. Luego usa MimeMessage y Session para decodificar esto en un objeto que puede hacer lo que le gusta. En su caso, extraiga campos y coloque en una base de datos Tengo un ejemplo y estoy trabajando en aproximadamente 1 hora. Era un marco muy bien pensado. – phatmanace

+0

Parece que encontró una manera ordenada que es muy interesante para la comunidad. Sería bueno si lo compartes. –

1

Hay un tutorial paso a paso slicehost que tiene una máquina basada en UNIX, se instala de sufijo en él, lo configura para usar MySQL y lo configura para aceptar usuarios virtuales y servir/recibir correo electrónico desde múltiples dominios.

La configuración es limpia, rápida y segura. La vida es buena, ¿eh?

http://articles.slicehost.com/email

+0

Muchas gracias por su consejo. Lo tomaré en cuenta. –

1

Quizás debería mirar en www.dbmail.org