返回郵件的主題還有發件人
from email import *
import re,email,email.header
from poplib import pop3
def decode_email_content(msg_src,names):
msg=email.message_from_string(msg_src)#email.message_from_bytes只可以在python 3中執行
#print msg
result =
for name in names:
content = msg.get(name)
#print content
info = email.header.decode_header(content)#解碼
print info
if info[0][1]:
print '^^^^^'
if info[0][1].find('unknown-') ==-1:#已知編碼
result[name] = info[0][0].decode(info[0][1])
else:#未知編碼
try:
result[name] = info[0][0].decode('gbk')
except:
result[name] = info[0][0].decode('utf-8')
else:
result[name] = info[0][0]
return result
if __name__== "__main__":
pp=pop3("pop3.163.com")
pp.user('*******@163.com')
pp.pass_('*******')
total,totalnum = pp.stat()#郵件的數量和郵件總的位元組數
print (total,totalnum)
for i in range(total-2,total):
hinfo,msgs,octet=pp.top(i+1,0)#得到指定郵件中的第一行內容(從0開始)
# print'%%%%%%'
# print hinfo
# print'%%%%%'
# print msgs
# print'&&&&'
# print octet
b=b''
for msg in msgs:
b += msg+b'\n'
items = decode_email_content(b,['subject','from'])
print items['subject'],'\nfrom:',items['from']
pp.quit()
用socket來傳送郵件
以前用vb時,記得有個mail控制項,後來接觸到了cdo.messages這個玩意,發郵件是蠻方便,那還是在vbs的情況下,後來看了下php,perl,發現發郵件乙個函式就可以了,呵呵,那麼這些背後的細節是什麼呢,還是用socket來揭示下吧 郵件傳送離不開一樣東西,smtp,即簡單郵件傳輸協議,對...
用模板來進行型別檢查。
在講述之前,請看c 的型別資訊系統 typeid,sizeof,函式呼叫,模板特化 這幾個dd,或者隱藏地轉換c 的型別,或者直接得到型別資訊 前兩個就不說了,沒什麼可說的。現在說函式呼叫,請看如下 void foo int a 這樣的 也許天天在寫,但是,您有沒有注意到,我們在函式呼叫的時候 fo...
用模板來進行型別檢查。
在講述之前,請看c 的型別資訊系統 typeid,sizeof,函式呼叫,模板特化 這幾個dd,或者隱藏地轉換c 的型別,或者直接得到型別資訊 前兩個就不說了,沒什麼可說的。現在說函式呼叫,請看如下 void foo int a 這樣的 也許天天在寫,但是,您有沒有注意到,我們在函式呼叫的時候 fo...