Recuperar datos de un email para almacenar datos en la base de datos

446 views
Skip to first unread message

Sergio

unread,
Jun 26, 2013, 4:24:24 AM6/26/13
to djan...@googlegroups.com
Buenos días a todos

Estoy desarrollando un proyecto de gestión web. Tengo una opción que envía un formulario a la bandeja de entrada de un correo electrónico. La persona propietaria de la cuenta de correo rellena el formulario y lo vuelve a enviar. 

Al recibir el correo como puedo coger las respuestas del formulario enviado y guardar la información en la base de datos?

Muchas gracias a todos

Andres Vargas

unread,
Jun 26, 2013, 4:48:03 PM6/26/13
to djan...@googlegroups.com
?????????????????'


--
--
Ha recibido este mensaje porque está suscrito a Grupo "Grupo de Usuarios del Framework Django de habla hispana" de Grupos de Google.
Si quieres publicar en este grupo, envía un mensaje de correo
electrónico a djan...@googlegroups.com
Para anular la suscripción a este grupo, envíe un mensaje a django-es-...@googlegroups.com
Para obtener más opciones, visita este grupo en http://groups.google.com.bo/group/django-es.
---
Has recibido este mensaje porque estás suscrito al grupo "Django-es" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a django-es+...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
 
 



--
Andres Vargas
www.zodman.com.mx

Diego Uribe Gamez

unread,
Jun 26, 2013, 4:56:29 PM6/26/13
to djan...@googlegroups.com

No creo que puedas hacer de un correo un formulario, en principio si es un HTML con un form y entra a gmail no te deja hacer post, y si estamos hablando de django pues mandas un correo con el Link del formulario y en la vista guardas la info en la base de datos.

Sergio Redondo

unread,
Jun 26, 2013, 5:22:55 PM6/26/13
to djan...@googlegroups.com
Podrias utilizar expresiones regulares para matchear las respuestas del
cuerpo del correo y pasarlas luego a su campo correspondiente en la BD

On 26/06/13 10:24, Sergio wrote:
> Buenos d�as a todos
>
> Estoy desarrollando un proyecto de gesti�n web. Tengo una opci�n que env�a
> un formulario a la bandeja de entrada de un correo electr�nico. La persona
> propietaria de la cuenta de correo rellena el formulario y lo vuelve a
> enviar.
>
> Al recibir el correo como puedo coger las respuestas del formulario enviado
> y guardar la informaci�n en la base de datos?
>
> Muchas gracias a todos
>

Cuauhtemoc Ramirez Hernandez

unread,
Jun 26, 2013, 5:27:48 PM6/26/13
to djan...@googlegroups.com
No creo que llenar un formulario desde un correo electrónico sea la solución mas correcta/elegante, lo mejor sería como dice Diego enviar una liga a donde el usuario tiene que entrar a llenar los datos, así ademas puedes hacer efectivas las validaciones correspondientes sobre los datos a introducir.


Saludos


El 26 de junio de 2013 16:22, Sergio Redondo <redondoh...@gmail.com> escribió:
Podrias utilizar expresiones regulares para matchear las respuestas del cuerpo del correo y pasarlas luego a su campo correspondiente en la BD


On 26/06/13 10:24, Sergio wrote:
Buenos días a todos

Estoy desarrollando un proyecto de gestión web. Tengo una opción que envía
un formulario a la bandeja de entrada de un correo electrónico. La persona

propietaria de la cuenta de correo rellena el formulario y lo vuelve a
enviar.

Al recibir el correo como puedo coger las respuestas del formulario enviado
y guardar la información en la base de datos?

Muchas gracias a todos


--
--
Ha recibido este mensaje porque está suscrito a Grupo "Grupo de Usuarios del Framework Django de habla hispana" de Grupos de Google.
Si quieres publicar en este grupo, envía un mensaje de correo electrónico a djan...@googlegroups.com
Para anular la suscripción a este grupo, envíe un mensaje a django-es-unsubscribe@googlegroups.com

Para obtener más opciones, visita este grupo en http://groups.google.com.bo/group/django-es.
--- Has recibido este mensaje porque estás suscrito al grupo "Django-es" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a django-es+unsubscribe@googlegroups.com.

Diego Uribe Gamez

unread,
Jun 26, 2013, 5:30:28 PM6/26/13
to djan...@googlegroups.com

Si se puede suena interesante, 1 como sería la plantilla 2 como recoges el correo desde python, entiendo y enviado correos desde python eso si, y si se puede hay algo bueno aquí.

El 26/06/2013 16:23, "Sergio Redondo" <redondoh...@gmail.com> escribió:
Podrias utilizar expresiones regulares para matchear las respuestas del cuerpo del correo y pasarlas luego a su campo correspondiente en la BD

On 26/06/13 10:24, Sergio wrote:
Buenos días a todos

Estoy desarrollando un proyecto de gestión web. Tengo una opción que envía
un formulario a la bandeja de entrada de un correo electrónico. La persona

propietaria de la cuenta de correo rellena el formulario y lo vuelve a
enviar.

Al recibir el correo como puedo coger las respuestas del formulario enviado
y guardar la información en la base de datos?

Muchas gracias a todos


Sergio

unread,
Jun 27, 2013, 3:52:00 AM6/27/13
to djan...@googlegroups.com
Gracias a todos! cuando encuentre la solución al problema os lo comunicaré


VargasMolina

unread,
Jun 29, 2013, 10:50:10 AM6/29/13
to djan...@googlegroups.com
Seria algo como :
Tener dos base de datos una con los correos que enviaste y otra base donde guardes los datos que recibiste de una casilla creada específicamente para obtener las respuestas que un cron lee casa 1 hora ..
Luego con cada consulta al sitio comparas las dos base según el correo y listo , tienes el que enviaste mas la respuesta del mismo correo , si es que recibiste repuesta  .

Ese es mi aporte suerte .

Eduard Diaz

unread,
Jul 1, 2013, 2:04:18 PM7/1/13
to djan...@googlegroups.com
Este es el típico problema de formato de texto plano estructurado ya que la lectura de un email desde python está solucionado y documentado con el paquete estándar poplib [1]

En un caso así lo que haría es que el texto del correo tenga un formato tipo wiki o markdown, de esta manera el parser ya lo tendrías hecho por ejemplo:

Utilizando markdown podemos enviar una encuesta con un texto parecido a:


Preguntas
=======

¿ Cuanto son 2 + 2?
------------------------------

Escribe tu respuesta aquí

Si a 3 les sumamos 1 obtenemos...
----------------------------------------------------

Escribe tu respuesta aquí


Una vez que el usuario envía el email a una dirección concreta quedaran en la bandeja de entrada almacenados.

Ahora tienes que hacer un script que ejecutado mediante un cron se conecta al servidor de correo y lee los emails pendientesy los parsee.

Para leer el correo puedes utilizar [2]

mediante el parser de markdown, separamos las preguntas de las respuestas, identificamos al usuario y guardamos los datos en la base de datos


Reply all
Reply to author
Forward
0 new messages