Email-メール受信
1922 ワード
#-*- coding: utf-8 -*-
#!/user/bin/env python
import email
import poplib
import sys
def log(text):
sys.stdout.write(text)
sys.stdout.flush()
host = 'XXXXXXXXXXX'
user = 'XXXXXXXXXXXX'
password = 'XXXXXXXX'
#
dest = 'mail.txt'
destfd = open(dest, 'at')
log('Connecting to %s...
' % host)
# POP3
p = poplib.POP3(host)
try:
log('Loging on...')
p.user(user)
p.pass_(password)
log(' success
')
except poplib.error_proto, e:
print 'Login failed:', e
sys.exit(1)
log('Scanning InBox...')
mblist = p.list()[1]
log("%d messages.
" % len(mblist))
dellist = [] #
# destfd
for item in mblist:
number, octets = item.split(' ')
log ('Downloading message %s(%s bytes)...' % (number, octets))
lines = p.retr(number)[1]
msg = email.message_from_string('
'.join(lines))
destfd.write(msg.as_string(unixfrom=1))
destfd.write('
')
dellist.append(number)
log('done.
')
destfd.close()
#
counter = 0
for number in dellist:
counter += 1
log ('Deleting message %d od %d\r' % (counter, len(dellist)))
p.dele(number)
if counter > 0:
log('Successfully deleteed %d message from server.
' % counter)
else:
log('No messages present to download.
')
log('Closing connection...')
p.quit()
log('done.
')