Skip to content

Instantly share code, notes, and snippets.

@GuilhermeBarile
Created April 30, 2012 21:13
Show Gist options
  • Save GuilhermeBarile/2562736 to your computer and use it in GitHub Desktop.
Save GuilhermeBarile/2562736 to your computer and use it in GitHub Desktop.
Download spam mail from gmail
import email, getpass, imaplib, os
detach_dir = '.' # directory where to save attachments (default: current)
user = raw_input("Enter your GMail username:")
pwd = getpass.getpass("Enter your password: ")
# connecting to the gmail imap server
m = imaplib.IMAP4_SSL("imap.gmail.com")
m.login(user,pwd)
m.select("[Gmail]/Spam") # here you a can choose a mail box like INBOX instead
# use m.list() to get all the mailboxes
resp, items = m.search(None, "ALL") # you could filter using the IMAP rules here (check http://www.example-code.com/csharp/imap-search-critera.asp)
items = items[0].split() # getting the mails id
for emailid in items:
resp, data = m.fetch(emailid, "(RFC822)") # fetching the mail, "`(RFC822)`" means "get the whole stuff", but you can ask for headers only, etc
email_body = data[0][1] # getting the mail content
#Check if its already there
att_path = "spam/" + emailid + ".txt"
if not os.path.isfile(att_path) :
# finally write the stuff
fp = open(att_path, 'wb')
fp.write(email_body)
fp.close()
@asreerama
Copy link

gmail doesnt allow this kind of sign in anymore :(
Any work arounds ??

@GuilhermeBarile
Copy link
Author

@asreerama I haven't used this in many years, but one of the requirements is to enable "less secure applications" or something like that on the gmail settings.
Besides this script, it should work with any IMAP client

@akaryan7175
Copy link

Hi

@Shaktigaming
Copy link

Hi

@fnaquira
Copy link

Thank you!! this script was simple and awesome, it totally works when gmail has less secure applications enabled

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment