HubobelsPython/getMailatta.py
2019-02-12 20:19:52 +01:00

80 lines
1.6 KiB
Python

mv#!/usr/bin/env python
import poplib
import email
import os
import sys
import string
import time
#
# attsave.py
# Check emails at PROVIDER for attachments and save them to SAVEDIR.
#
#
PROVIDER = "pop3.web.de"
USER = "debhubobel@web.de"
PASSWORD = "PL19zPL19z"
SAVEDIR = "/home/carsten"
def saveAttachment(mstring):
filenames = []
attachedcontents = []
msg = email.message_from_string(mstring)
for part in msg.walk():
fn = part.get_filename()
if fn <> None:
filenames.append(fn)
attachedcontents.append(part.get_payload(decode = True))
for i in range(len(filenames)):
fp = file(SAVEDIR + "/" + filenames[i], "wb")
fp.write(attachedcontents[i])
print 'Found and saved attachment "' + filenames[i] + '".'
fp.close()
try:
client = poplib.POP3_SSL(PROVIDER)
except:
print "Error: Provider not found."
sys.exit(1)
client.user(USER)
client.pass_(PASSWORD)
anzahl_mails = len(client.list()[1])
for i in range(anzahl_mails):
lines = client.retr(i + 1)[1]
mailstring = string.join(lines, "\n")
saveAttachment(mailstring)
poplist = client.list()
if poplist[0].startswith('+OK') :
msglist = poplist[1]
for msgspec in msglist :
# msgspec is something like "3 3941",
# msg number and size in octets
msgnum = int(msgspec.split(' ')[0])
client.dele(msgnum)
else :
None
wtag = time.strftime('%H%M')
if wtag == '1945':
for filename in os.listdir(SAVEDIR+'/added'):
print filename+' wurde erfolgreich geloescht.'
os.remove(SAVEDIR+'/added/'+filename)
client.quit()