I alredy know hoe to send e-mail by python but is possible to receive e-mail??
thanks for all post

or how to delete all email

I'm really confused what you're asking. Can you explain further please?

I imagine you used the smtplib module and its functions to send e-mail. Well, you use the poplib module and its functions to view and delete e-mail.

Use help('poplib') to get details.

A rather crummy example is at

I'm really confused what you're asking. Can you explain further please?

YOu know password and username.You want to delete all of the mails in the box using python...
I alredy know how to send e-mail,how to receive.Thanks for all help:D

Found code in one of the books in the CS library:

# view and delete e-mail using the POP3 protocol

import sys, getpass, poplib, re

# change according to your needs
POPHOST = "pop.domain.com"
POPUSER = "joedoe"
# the number of message body lines to retrieve
HEADERS = "From To Subject".split()

# headers you're actually interested in
rx_headers  = re.compile('|'.join(headers), re.IGNORECASE)

    # connect to POP3 and identify user
    pop = poplib.POP3(POPHOST)

    if not POPPASS or POPPASS=='=':
        # if no password was supplied, ask for it
        POPPASS = getpass.getpass("Password for %s@%s:" % (POPUSER, POPHOST))

    # authenticate user

    # get general information (msg_count, box_size)
    stat = pop.stat(  )

    # print some information
    print "Logged in as %s@%s" % (POPUSER, POPHOST)
    print "Status: %d message(s), %d bytes" % stat

    bye = 0
    count_del = 0
    for n in range(stat[0]):

        msgnum = n+1

        # retrieve headers
        response, lines, bytes = pop.top(msgnum, MAXLINES)

        # print message info and headers you're interested in
        print "Message %d (%d bytes)" % (msgnum, bytes)
        print "-" * 30
        print "\n".join(filter(rx_headers.match, lines))
        print "-" * 30

        # input loop
        while 1:
            k = raw_input("(d=delete, s=skip, v=view, q=quit) What?")
            k = k[:1].lower(  )
            if k == 'd':
                # Mark message for deletion
                k = raw_input("Delete message %d? (y/n)" % msgnum)
                if k in "yY":
                    print "Message %d marked for deletion" % msgnum
                    count_del += 1
            elif k == 's':
                print "Message %d left on server" % msgnum
            elif k == 'v':
                print "-" * 30
                print "\n".join(lines)
                print "-" * 30
            elif k == 'q':
                bye = 1

        # done ...
        if bye:
            print "Bye"

    # summary
    print "Deleting %d message(s) in mailbox %s@%s" % (
        count_del, POPUSER, POPHOST)

    # close operations and disconnect from server
    print "Closing POP3 session"
    pop.quit(  )

except poplib.error_proto, detail:

    # possible error
    print "POP3 Protocol Error:", detail

hey, why i am getting this error..
can anyone explain me
Traceback (most recent call last):
File "popmail.py", line 14, in ?
rx_headers = re.compile('|'.join(headers), re.IGNORECASE)
NameError: name 'headers' is not defined

There is a booboo in the book, headers should be HEADERS.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.