I used Python's imaplib to pull mail from a gmail account... but I got an email with this confusing text body:
> RGF0ZSBldCBoZXVyZTogICAgICAgICAgICAgICAgICAgICAgICAgICAyMi8wOC8yMDEwIDE0
> OjMzOjAzIEdNVCBVbmtub3duDQpQcsOpbm9tOiAgICAgICAgICAgICAgICAgICAgICAgICAg
> ICAgICAgICAgamFjaW50bw0KTm9tOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
> ICAgICBjYXJ2YWxobw0KRS1NYWlsOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
who can help me to read this file from my email...
Thx
lo
It looks like base64. In Python you can either use base64.b64decode
or str.decode('base64')
.
message = '''
RGF0ZSBldCBoZXVyZTogICAgICAgICAgICAgICAgICAgICAgICAgICAyMi8wOC8yMDEwIDE0
OjMzOjAzIEdNVCBVbmtub3duDQpQcsOpbm9tOiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgamFjaW50bw0KTm9tOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjYXJ2YWxobw0KRS1NYWlsOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
'''
print message.decode('base64')
Result:
Date et heure: 22/08/2010 14:33:03 GMT Unknown Prénom: jacinto Nom: carvalho E-Mail:
The é
looks like it is incorrect. It appears that the text was encoded in UTF-8, so you also need to decode the UTF-8 encoding:
print message.decode('base64').decode('utf-8')
Result:
... Prénom: ...
One other thing to be aware of is that there are different variants of Base64 encodings that differ in the two symbols they use for value 62 and 63. Using base64.b64decode
you can specify these two characters if the defaults don't work for you.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With