python 에서 pop 3 메 일 을 다운로드 하여 로 컬 에 저장 합 니 다.
1.명명 방식 은 번호 와 파일 크기 로 명명 합 니 다.
#!/usr/bin/env python
#-*- coding: utf-8 -*-
#filename:receive_pop3_email_download.py
import poplib
username = 'dxx_study'
passwd = 'xXXXXXXX'
mail_server = 'pop.163.com'
p = poplib.POP3(mail_server)
p.user(username)
p.pass_(passwd)
for msg_id in p.list()[1]:
print msg_id
outf = open('%s.eml' % msg_id, 'w')
outf.write('
'.join(p.retr(msg_id)[1]))
outf.close()
p.quit()
출력:
>>> ================================ RESTART ================================
>>>
1 6189
2 14284
3 1712
4 24912
5 129052
6 1399
7 23298
8 47902
9 2334
10 48887
11 1081
12 34930
13 2098
14 26316
15 32381
16 1822
2.보 낸 사람의 메 일 주소 이름
#!/usr/bin/env python
#-*- coding: utf-8 -*-
#filename:receive_pop3_email.py
import poplib, re
username = 'dxx_study'
passwd = 'xuXXXXXu'
mail_server = 'pop.163.com'
p = poplib.POP3(mail_server)
#p.set_debuglevel(2)#
#s = p.getwelcome()#
p.user(username)
p.pass_(passwd)
p.stat()
#p.list()# , , p.list()[0]
#p.retr(42)#
#print p.top(42,42)# ,
#p.uidl()#Return message digest (unique id) list
#p.list()[1]# , ['1 6189', '2 14284', '3 1712',....]
#p.retr(2)[0]# 14284 octets
def file_name(text):# ,
pattern = u"Sender: (.*)"
file_name = re.search(pattern, text, re.I)
if file_name == None:
exit
else:
return file_name.group(1)
def download_mail():
for msg_id in p.list()[1]:
retr = p.retr(msg_id)[1]
for i in range(0,len(retr)):
name = file_name(retr[i])# filename
if name == None:
exit
else:
outf = open('%s.eml' % name, 'w')
outf.write('
'.join(retr))
outf.close()
download_mail()
p.quit()
이상 의 기능 은 백업 메 일 에 비교적 유용 합 니 다.첨부 파일 도 다운로드 되 었 기 때 문 입 니 다.pop 3 메 일 서비스 가 시대 에 뒤떨어 지고 서비스 도 안정 적 이지 않 기 때문에 현재 IMAP 를 사용 하 는 것 이 유행 하고 있 습 니 다.그 다음 에 시간 이 있 으 면 후 자 를 지원 하 는 것 을 쓰 면 사용자 가 스스로 입력 하고 선택 하 며 각 메 일 클 라 이언 트 를 추출 할 수 있 습 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.