python接收郵件的幾種方式
1. 使用 poplib 元件
# -*- coding: utf-8 -*-
import poplib
from email import parser
host = 'pop.163.com'
username = 'mine@163.com'
password = '*******'
pop_conn = poplib.POP3_SSL(host)
pop_conn.user(username)
pop_conn.pass_(password)
#Get messages from server:
messages = [pop_conn.retr(i) for i in range(1, len(pop_conn.list()[1]) + 1)]
# Concat message pieces:
messages = ["\n".join(mssg[1]) for mssg in messages]
#Parse message intom an email object:
messages = [parser.Parser().parsestr(mssg) for mssg in messages]
for message in messages:
print message['Subject']
pop_conn.quit()
此方法會輸出收件箱所有內容。
2. 使用 imaplib 元件,檢測郵件並返回未讀郵件的數值
# -*- coding: utf-8 -*-
import imaplib,re
host = 'imap.163.com'
username = 'mine@163.com'
password = '*******'
def email_checker(username,password):
i=imaplib.IMAP4_SSL('imap.163.com')
try:
i.login(username,password)
x,y=i.status('INBOX','(MESSAGES UNSEEN)')
messages=int(re.search('MESSAGES\s+(\d+)',y[0]).group(1))
unseen=int(re.search('UNSEEN\s+(\d+)',y[0]).group(1))
return (messages,unseen)
except:
return False,0
# Use in your scripts as follows:
messages,unseen = email_checker('mine@163.com','******')
print "%i messages, %i unseen" % (messages,unseen)
3. 使用 imaplib 元件,對未讀郵件內容整理,返回主題和內容
# -*- coding: utf-8 -*-
import imaplib
import email
def extract_body(payload):
if isinstance(payload,str):
return payload
else:
return '\n'.join([extract_body(part.get_payload()) for part in payload])
conn = imaplib.IMAP4_SSL("imap.163.com", 993)
conn.login("mine@163.com", "******")
conn.select()
typ, data = conn.search(None, 'UNSEEN')
try:
for num in data[0].split():
typ, msg_data = conn.fetch(num, '(RFC822)')
for response_part in msg_data:
if isinstance(response_part, tuple):
msg = email.message_from_string(response_part[1])
subject=msg['subject']
print(subject)
payload=msg.get_payload()
body=extract_body(payload)
print(body)
typ, response = conn.store(num, '+FLAGS', r'(\Seen)')
finally:
try:
conn.close()
except:
pass
conn.logout()
相關文章
- Python 傳送郵件的幾種方式Python
- 最全總結!聊聊 Python 傳送郵件的幾種方式Python
- python中使用poplib模組接收郵件Python
- python實現郵件接收、附件下載Python
- 兩種go傳送郵件的方式Go
- 郵件介面推送的三種狀態方式
- python 非同步的幾種方式Python非同步
- python的幾種輸出方式Python
- python的幾種輸入方式Python
- spring-boot-route(一)Controller接收引數的幾種方式SpringbootController
- 用Gmail做QQ郵件群發的一種方式AI
- mailtrap.io - 一種更方便的郵件測試方式AI
- 前端ajax非同步傳值以及後端接收引數的幾種方式前端非同步後端
- win10系統中自帶郵件如何設定接收網易郵箱郵件Win10
- python安裝包的幾種方式 -- pip等Python
- SAP Connection inbound郵件接收處理機制
- 這幾種釣魚郵件,你一定不陌生~
- 結合Spring傳送郵件的四種正確姿勢,你知道幾種?Spring
- React 提供了幾種方式來實現條件渲染React
- 共享電子郵件的運作方式
- css引入的幾種方式CSS
- Unity反射的幾種方式Unity反射
- python傳送郵件Python
- python 發個郵件Python
- 外貿郵件推送理解的幾個點
- 垃圾郵件的一種應對方法
- 如何實現告警的郵件通知方式?
- Outlook如果有多個郵箱,個別郵箱設定不接收郵件的設定方法
- python實現郵件的傳送Python
- Python有哪幾種編碼方式?這幾類必須知道!Python
- offline tablespace 的幾種方式 (轉)
- 程式碼迭代的幾種方式
- Spring注入Bean的幾種方式SpringBean
- react 路由的幾種使用方式React路由
- JavaScript的幾種繼承方式JavaScript繼承
- OAuth的幾種授權方式OAuth
- python SMTP郵件服務Python
- Python SMTP傳送郵件Python