1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- import poplib
- import datetime
- import time
- from email.parser import Parser
- from email.header import decode_header
- email = ''
- password = ''
- pop3_server = 'pop.qiye.aliyun.com'
- def decode_str(s):
- value, charset = decode_header(s)[0]
- if charset:
- value = value.decode(charset)
- return value
- def get_att(msg):
- import email
- attachment_files = []
- for part in msg.walk():
- file_name = part.get_filename()
- contType = part.get_content_type()
- print(file_name)
- if file_name:
- h = email.header.Header(file_name)
- dh = email.header.decode_header(h)
- filename = dh[0][0]
- if dh[0][1]:
- filename = decode_str(str(filename, dh[0][1]))
- print(filename)
-
- data = part.get_payload(decode=True)
- att_file = open('/home/code/python/coal_mail/emailFile/' + filename, 'wb')
- attachment_files.append(filename)
- att_file.write(data)
- att_file.close()
- return attachment_files
- server = poplib.POP3_SSL(pop3_server)
- server.set_debuglevel(1)
- print(server.getwelcome().decode('utf-8'))
- server.user(email)
- server.pass_(password)
- print('Messages: %s. Size: %s' % server.stat())
- resp, mails, octets = server.list()
- print(mails)
- index = len(mails)
- print(index)
- for i in range(index, 0, -1):
-
- resp, lines, octets = server.retr(i)
-
-
- msg_content = b'\r\n'.join(lines).decode('utf-8')
-
- msg = Parser().parsestr(msg_content)
-
- date1 = time.strptime(msg.get("Date")[0:24], '%a, %d %b %Y %H:%M:%S')
- date2 = time.strftime("%Y%m%d", date1)
- now_time = datetime.datetime.now()
-
- getFileDay = (now_time + datetime.timedelta(days=-1)).strftime("%Y%m%d")
-
- print(date1)
-
- print(date2)
- if date2 < getFileDay:
- continue
- f_list = get_att(msg)
-
- server.quit()
|