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傳送郵件和接收郵件Python
- 郵件開發:接收解析郵件
- 使用python傳送和接收郵件Python
- 兩種go傳送郵件的方式Go
- python中使用poplib模組接收郵件Python
- python實現郵件接收、附件下載Python
- Java 實現郵件的接收Java
- 郵件介面推送的三種狀態方式
- EMOS無法接收郵件
- python的幾種輸出方式Python
- python的幾種輸入方式Python
- python 非同步的幾種方式Python非同步
- 用Gmail做QQ郵件群發的一種方式AI
- 如何正確接收 GitHub 的訊息郵件Github
- mailtrap.io - 一種更方便的郵件測試方式AI
- win10系統中自帶郵件如何設定接收網易郵箱郵件Win10
- 前端ajax非同步傳值以及後端接收引數的幾種方式前端非同步後端
- spring-boot-route(一)Controller接收引數的幾種方式SpringbootController
- 這幾種釣魚郵件,你一定不陌生~
- python安裝包的幾種方式 -- pip等Python
- React 提供了幾種方式來實現條件渲染React
- SAP Connection inbound郵件接收處理機制
- 結合Spring傳送郵件的四種正確姿勢,你知道幾種?Spring
- asp.net 郵件傳送提醒功能(接收方包括QQ郵箱等)ASP.NET
- 共享電子郵件的運作方式
- css引入的幾種方式CSS
- COOKIE的幾種操作方式Cookie
- 解析xml的幾種方式XML
- Unity反射的幾種方式Unity反射
- 自制Pop3郵件接收系統(二):利用TcpClient得到Pop3的郵件列表資料 (轉)TCPclient
- 外貿郵件推送理解的幾個點
- 如何實現告警的郵件通知方式?
- 垃圾郵件的一種應對方法
- Outlook如果有多個郵箱,個別郵箱設定不接收郵件的設定方法
- 程式碼迭代的幾種方式
- react 路由的幾種使用方式React路由