Problema de codificación imprimible con correo electrónico de Python
Extraigo correos electrónicos de Gmail usando lo siguiente:
def getMsgs():
try:
conn = imaplib.IMAP4_SSL("imap.gmail.com", 993)
except:
print 'Failed to connect'
print 'Is your internet connection working?'
sys.exit()
try:
conn.login(username, password)
except:
print 'Failed to login'
print 'Is the username and password correct?'
sys.exit()
conn.select('Inbox')
# typ, data = conn.search(None, '(UNSEEN SUBJECT "%s")' % subject)
typ, data = conn.search(None, '(SUBJECT "%s")' % subject)
for num in data[0].split():
typ, data = conn.fetch(num, '(RFC822)')
msg = email.message_from_string(data[0][1])
yield walkMsg(msg)
def walkMsg(msg):
for part in msg.walk():
if part.get_content_type() != "text/plain":
continue
return part.get_payload()
Sin embargo, algunos correos electrónicos que recibo son casi imposibles para mí para extraer fechas (usando expresiones regulares) de caracteres relacionados con la codificación como '=', que aparecen aleatoriamente en medio de varios campos de texto. Aquí hay un ejemplo donde ocurre en un rango de fechas que quiero extraer:
Nombre: KIRSTI Correo electrónico: [email protected] Número de teléfono: + 999 99995192 Total en la fiesta: 4 en total, 0 niños Llegada / Salida: 9 de octubre =, 2010 - 13 de octubre de 2010 - 13 de octubre de 2010
¿Hay alguna forma de eliminar estos caracteres de codificación?