Página 1 de 1
EasyDev con IMAP
Publicado: Jue Ene 07, 2016 5:27 am
por mauricio
Hola a todos...
He empezado a integrar en EasyDev el soporte para lectura de correo en esta rama:
https://github.com/UniversoLibreMexicoA ... v2.6.0.oxt
Como siempre su uso es muy simple:
Código: Seleccionar todo
Sub ReadMail()
util = createUnoService("org.universolibre.EasyDev")
server = createUnoStruct("org.universolibre.EasyDev.SmtpServer")
server.Name = "box961.bluehost.com"
server.Port = 993
server.User = "public@mauriciobaeza.net"
server.Password = "letmein-abretesesamo-mellon"
server.Ssl = True
info = util.readMail(server)
util.msgbox(info)
End Sub
Por ahora solo les tiene que devolver una cadena como la siguiente:
Código: Seleccionar todo
('OK', [b'INBOX (MESSAGES 103 UNSEEN 0)'])
('OK', [b'INBOX.Sent (MESSAGES 2 UNSEEN 0)'])
('OK', [b'INBOX.Junk (MESSAGES 0 UNSEEN 0)'])
('OK', [b'INBOX.Drafts (MESSAGES 0 UNSEEN 0)'])
('OK', [b'INBOX.Test (MESSAGES 0 UNSEEN 0)'])
('OK', [b'INBOX.Trash (MESSAGES 0 UNSEEN 0)'])
Con el nombre de cada carpeta, los mensajes que contiene y la cantidad de mensajes no leídos (UNSEEN)
¿Cual sería la mejor forma de devolver los mensajes y sus anexos?
Saludos
Re: EasyDev con IMAP
Publicado: Sab Ene 16, 2016 8:19 pm
por RASAPA
Buenos dias,
He provado ReadMail() y me da el siguiente error:
Código: Seleccionar todo
Error de temps d'execució del BASIC.
S'ha produït una excepció
Type: com.sun.star.uno.RuntimeException
Message: <class 'AttributeError'>: 'NoneType' object has no attribute 'list', traceback follows
C:\Users\Ramon\AppData\Roaming\LibreOffice\4\user\uno_packages\cache\uno_packages\lu264ua.tmp_\EasyDev_v2.6.0.oxt\pythonpath\easydev\loemail.py:133 in function get_folders() [typ, subdir = self.con.list()]
C:\Users\Ramon\AppData\Roaming\LibreOffice\4\user\uno_packages\cache\uno_packages\lu264ua.tmp_\EasyDev_v2.6.0.oxt\pythonpath\easydev\loemail.py:208 in function get_all_files() [folders = self.get_folders()]
C:\Users\Ramon\AppData\Roaming\LibreOffice\4\user\uno_packages\cache\uno_packages\lu264ua.tmp_\EasyDev_v2.6.0.oxt\pythonpath\easydev\loemail.py:235 in function readMail() [info = server.get_all_files()]
[/i]
Se necesita crear antes algunas carpetas en el disco duro ?.
Yo no he creado nada, solo he puesto el codigo tal cual.
En cuanto a la mejor forma de devolver los correos ????? No tengo muy clara la estructura,pero creo que con un ROADMAP, con las carpetas tipicas a su izquierda que apunten cada una a las : Bandeja entrada - Bandeja salida - etc......... y que los mensajes se bajen y se guarden en las carpetas del disco duro que tengan asignadas.
De esta forma actuaria como un servidor de correo ???, con las copias de los mensajes en mi propio servisor ???
Saludos
Ramon
Re: EasyDev con IMAP
Publicado: Sab Ene 16, 2016 8:29 pm
por mauricio
¿Estas seguro que tus datos de conexión son correctos...?...
self.con apunta a al conexión, si es None, es que no pudo conectarse...
Saludos
Re: EasyDev con IMAP
Publicado: Dom Ene 17, 2016 11:37 am
por RMG
Hola Mauricio, en W10 da error de instalación la 2.6.
Re: EasyDev con IMAP
Publicado: Dom Ene 17, 2016 2:00 pm
por RASAPA
Buenos dias,
Los datos de mi conexion, son los mismos que utilizo para enviar los mails i funcionan, de todas formas te mando esos datos, simplemente he cambiado mi user i password
Código: Seleccionar todo
Sub ReadMail()
util = createUnoService("org.universolibre.EasyDev")
server = createUnoStruct("org.universolibre.EasyDev.SmtpServer")
server.Name = "smtp.gmail.com"
server.Port = 587 '993
server.User = "midireccion de gmail@gmail.com"
server.Password = "mipassword"
server.Ssl = True
info = util.readMail(server)
util.msgbox(info)
End Sub
He provado con el puerto 993, con el que utilizo para enviar los mails, el 587 y sin la linea del puerto.
En todos me da error.
Saludos
Re: EasyDev con IMAP
Publicado: Lun Ene 18, 2016 3:46 am
por mauricio
RMG escribió:Hola Mauricio, en W10 da error de instalación la 2.6.
Sin ver el error que da es complicado saber que es...
Saludos
Re: EasyDev con IMAP
Publicado: Lun Ene 18, 2016 5:46 am
por mauricio
RASAPA escribió:Los datos de mi conexion, son los mismos que utilizo para enviar los mails i funcionan, de todas formas te mando esos datos, simplemente he cambiado mi user i password
He provado con el puerto 993, con el que utilizo para enviar los mails, el 587 y sin la linea del puerto.
En todos me da error.
Saludos
No, nunca cambies los valores de tu conexión solo por probar, estos deben ser
exactamente los que establezca tu servidor IMAP, en este caso Gmail...
Probe con una cuenta de GMail, y efectivamente cuando el usuario o contraseña están mal, obtengo el mensaje de error que muestras, otras posibles razones para obtener este error son; que no tengas activado el acceso IMAP en tu cuenta de GMail, o que no tengas activado el acceso a aplicaciones no seguras, esto esta dentro de la configuración de GMail, en internet hay mucha información de esto.
He corregido un error al obtener la lista de folders en GMail, debes de descargar de nuevo la versión 2.6 desde el vínculo arriba indicado para probar.
Código: Seleccionar todo
('OK', [b'"INBOX" (MESSAGES 9 UNSEEN 0)'])
('NO', [b'[NONEXISTENT] Invalid folder: [Gmail] (Failure)'])
('OK', [b'"[Gmail]/Borradores" (MESSAGES 0 UNSEEN 0)'])
('OK', [b'"[Gmail]/Destacados" (MESSAGES 0 UNSEEN 0)'])
('OK', [b'"[Gmail]/Enviados" (MESSAGES 157 UNSEEN 0)'])
('OK', [b'"[Gmail]/Importantes" (MESSAGES 3 UNSEEN 0)'])
('OK', [b'"[Gmail]/Papelera" (MESSAGES 0 UNSEEN 0)'])
('OK', [b'"[Gmail]/Spam" (MESSAGES 5 UNSEEN 5)'])
('OK', [b'"[Gmail]/Todos" (MESSAGES 168 UNSEEN 0)'])
Ahora, debería mostrar el error en pantalla que sucede en tu caso.
Saludos
Re: EasyDev con IMAP
Publicado: Lun Ene 18, 2016 4:45 pm
por RMG
Este es el error.
Re: EasyDev con IMAP
Publicado: Lun Ene 18, 2016 5:18 pm
por mauricio
¿Tienes una versión anterior instalada?... recuerda que esta es una versión de desarrollo, tienes que desinstalar cualquier versión previa manualmente para probar la de desarrollo...
Saludos
Re: EasyDev con IMAP
Publicado: Lun Ene 18, 2016 6:25 pm
por RMG
Si Mauricio, antes de instalar la nueva, siempre desinstalo la vieja. La anterior era la 2.5.
Saludos
Re: EasyDev con IMAP
Publicado: Lun Ene 18, 2016 11:56 pm
por RASAPA

Buenos dias,
Provado y funcionando en LibreOffice 5.0.3.2 y Linum Mint 17.3
Me sale el msgbox con la informacion de las carpetas que tengo en mi gmail, con el mismo formato que tu indicas.
Vamos bien.
Saludos
Ramon