2010-07-16 7 views
9

Estoy tratando de buscar mensajes en el Buzón de Enviado (en realidad me importa para ambos), pero solo me dan mensajes entrantes. Por el momento tengono puede buscar enviado mensajes de correo electrónico en Gmail con Python

imap_conn.select() 
str_after = after.strftime('%d-%b-%Y') 
typ, msg_ids = imap_conn.search('UTF-8','SINCE',str_after) 

que produzca resultados equivalentes con este

imap_conn.select('INBOX') 

Si se sustituyen correo electrónico con todos o enviado me sale: comando de registro ilegal en el estado de AUTH, sólo se permite en los estados SELECCIONADO

Respuesta

22

hombre, el mensaje de error es tan engañosa. Lo que realmente está diciendo es que ha intentado seleccionar un nombre de carpeta no válido, por lo que la operación de búsqueda falla.

Para verificar/comprobar las carpetas válidas actuales/etiquetas de hacer algo como:

print imap_conn.list() 

Después pude ver qué nombres de carpeta que estaba esperando, todo estaba bien.

+0

Este comentario me ahorró mucho tiempo, gracias, w--. –

4
import imaplib 
obj = imaplib.IMAP4_SSL('imap.gmail.com',993) 
obj.login('userid','password') 
obj.select('Sent') # <-- response like ('OK', ['74']) --> total no. of mail in sent folder 
obj.uid('SEARCH',None,'All') # <-- Returns the list of uids of the sent folder. 
+1

No funcionó en Gmail para mí, así que utiliza: imap_conn.select ('[Gmail]/Enviados') – PanosJee

+1

'Enviados' seleccione Correos de carpeta 'IMAP/Enviados' y no desde Carpeta 'Gmail/Correo enviado'. Si configura su cuenta de Gmail en Thunderbird entonces se creará automáticamente 'Sent IMAP /' carpeta para colocar la copia del correo enviado a esa carpeta. si desea seleccionar correos de la carpeta 'Gmail/Correo enviado', entonces su código está bien. – Avadhesh

4

Es necesario utilizar: imap_conn.select ('[Gmail]/Enviados')

sólo quería señalar esto para los futuros usuarios que ven esto. Está escondido en los comentarios.

+1

Solo un aviso: parece que el nombre de la carpeta cambia según el idioma. Por ejemplo para mí '[Gmail]/Enviado Mail' no funciona, pero' [Gmail]/L & AOQ-hetetyt viestit' funciona (y viceversa si cambio de idioma de la pantalla de Gmail del Finlandés al Inglés). –

0

necesidad de utilizar la impresión imap_conn.list(). Las etiquetas están basadas en el lenguaje. por ejemplo, en español es [Gmail]/Todos

Cuestiones relacionadas