真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Python中怎么實(shí)現(xiàn)郵件處理

這篇文章給大家介紹Python中怎么實(shí)現(xiàn)郵件處理,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

目前創(chuàng)新互聯(lián)已為成百上千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁(yè)空間、網(wǎng)站改版維護(hù)、企業(yè)網(wǎng)站設(shè)計(jì)、橋西網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

一、發(fā)送電子郵件

Python標(biāo)準(zhǔn)庫(kù)提供了smtplib,用于實(shí)現(xiàn)SMTP協(xié)議發(fā)送郵件。標(biāo)準(zhǔn)庫(kù)還提供email模塊幫助我們構(gòu)建郵件格式。SMTP(Simple Mail Transfer Protocol,即簡(jiǎn)單郵件傳輸協(xié)議),是一組有源地址到目的地址傳送郵件的規(guī)則,用來(lái)控制信件的中轉(zhuǎn)方式。

獲取QQ郵箱密碼(授權(quán)碼)

二、發(fā)送純文本格式的郵件

代碼如下:

import smtplib

from email.mime.text import MIMEText
from email.header import Header

# 郵箱用戶名
sender = 'dad@qq.com'(輸入你的郵箱)
# 郵箱密碼(部分郵箱為授權(quán)碼)
password = '123456'(輸入你的密碼)
# 收件人郵箱地址,注意需要[]包裹,這意味著你可以寫(xiě)多個(gè)郵件地址群發(fā)
receiver = ['baby@qq.com', ](輸入你要發(fā)送人的郵箱)
# 郵件正文
text = 'Hello,baby'
message = MIMEText(text, 'plain', 'utf-8')
# 發(fā)件人顯式的名字
message['From'] = Header('拿頭來(lái)堅(jiān)持', 'utf-8')
# 收件人顯式的名字
message['To'] = Header('baby', 'utf-8')
# 郵件標(biāo)題
message['Subject'] = '爸爸來(lái)信,請(qǐng)接收!'

try:
    # 使用QQ企業(yè)郵箱服務(wù)器發(fā)送
    smtp = smtplib.SMTP('smtp.qq.com')
    # 登錄
    smtp.login(sender, password)
    # 發(fā)送
    smtp.sendmail(sender, receiver, message.as_string())
    print('郵件發(fā)送成功!')
    # 退出服務(wù)器
    smtp.quit()
except smtplib.SMTPException as e:
    print('Error!郵件發(fā)送失??!', e)

Python基礎(chǔ)分析之郵件處理

發(fā)送純文本格式的郵件執(zhí)行結(jié)果:

三、發(fā)送HTML格式的郵件

代碼如下:

import smtplib

from email.mime.text import MIMEText
from email.header import Header

# 郵箱用戶名
sender = 'dad@qq.com'(輸入你的郵箱)
# 郵箱密碼(部分郵箱為授權(quán)碼)
password = '123456'(輸入你的密碼)
# 收件人郵箱地址,注意需要[]包裹,這意味著你可以寫(xiě)多個(gè)郵件地址群發(fā)
receiver = ['baby@qq.com', ](輸入你要發(fā)送人的郵箱)
# 郵件正文
msg = '''
    

拿頭來(lái)堅(jiān)持

          Life goes on, learning goes on         

 
 22,574
 被訪問(wèn)量 24 原創(chuàng)文章                   
獲得212次點(diǎn)贊
                        
內(nèi)容獲得111次評(píng)論
                        
獲得562次收藏
      ''' # 指定消息體使用HTML格式 message = MIMEText(msg, 'html', 'utf-8') # 發(fā)件人顯式的名字 message['From'] = Header('拿頭來(lái)堅(jiān)持', 'utf-8') # 收件人顯式的名字 message['To'] = Header('baby', 'utf-8') # 郵件標(biāo)題 message['Subject'] = '爸爸來(lái)信,請(qǐng)接收!' try:     # 使用QQ企業(yè)郵箱服務(wù)器發(fā)送     smtp = smtplib.SMTP('smtp.qq.com')     # 登錄     smtp.login(sender, password)     # 發(fā)送     smtp.sendmail(sender, receiver, message.as_string())     print('郵件發(fā)送成功!')     # 退出服務(wù)器     smtp.quit() except smtplib.SMTPException as e:     print('Error!郵件發(fā)送失?。?#39;, e)

Python基礎(chǔ)分析之郵件處理

發(fā)送HTML格式的郵件的執(zhí)行結(jié)果:

四、發(fā)送帶附件的郵件

代碼如下:

import smtplib

from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.header import Header

# 郵箱用戶名
sender = 'dad@qq.com'(輸入你的郵箱)
# 郵箱密碼(部分郵箱為授權(quán)碼)
password = '123456'(輸入你的密碼)
# 收件人郵箱地址,注意需要[]包裹,這意味著你可以寫(xiě)多個(gè)郵件地址群發(fā)
receiver = ['baby@qq.com', ](輸入你要發(fā)送人的郵箱)
# 指定消息體使用復(fù)合類(lèi)型
message = MIMEMultipart()
# 發(fā)件人顯式的名字
message['From'] = Header('拿頭來(lái)堅(jiān)持', 'utf-8')
# 收件人顯式的名字
message['To'] = Header('baby', 'utf-8')
# 郵件標(biāo)題
message['Subject'] = '爸爸來(lái)信,請(qǐng)接收!'
# 郵件正文
msg = '''
    

拿頭來(lái)堅(jiān)持

          Life goes on, learning goes on         

  22,574 被訪問(wèn)量 24 原創(chuàng)文章                   
獲得212次點(diǎn)贊
                        
內(nèi)容獲得111次評(píng)論
                        
獲得562次收藏
      ''' # 郵件附加html文件 message.attach(MIMEText(msg, 'html', 'utf-8')) # 添加附件 attached_file = MIMEText(open(__file__, encoding='utf-8').read(), 'base64', 'utf-8') # 指定附件的文件名和原先的文件不一樣 attached_file['Content-Disposition'] = 'attachment;filename="mail.py"' # 郵件附加附件 message.attach(attached_file) try:     # 使用QQ企業(yè)郵箱服務(wù)器發(fā)送     smtp = smtplib.SMTP('smtp.qq.com')     # 登錄     smtp.login(sender, password)     # 發(fā)送     smtp.sendmail(sender, receiver, message.as_string())     print('郵件發(fā)送成功!')     # 退出服務(wù)器     smtp.quit() except smtplib.SMTPException as e:     print('Error!郵件發(fā)送失??!', e)

Python基礎(chǔ)分析之郵件處理

發(fā)送帶附件的郵件執(zhí)行結(jié)果:

五、發(fā)送圖片的郵件

代碼如下:

import smtplib

from email.mime.text import MIMEText
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart
from email.header import Header

# 郵箱用戶名
sender = 'dad@qq.com'(輸入你的郵箱)
# 郵箱密碼(部分郵箱為授權(quán)碼)
password = '123456'(輸入你的密碼)
# 收件人郵箱地址,注意需要[]包裹,這意味著你可以寫(xiě)多個(gè)郵件地址群發(fā)
receiver = ['baby@qq.com', ](輸入你要發(fā)送人的郵箱)
# 利用related定義內(nèi)嵌資源的郵件體
message = MIMEMultipart('related')
# 發(fā)件人顯式的名字
message['From'] = Header('拿頭來(lái)堅(jiān)持', 'utf-8')
# 收件人顯式的名字
message['To'] = Header('baby', 'utf-8')
# 郵件標(biāo)題
message['Subject'] = '爸爸來(lái)信,請(qǐng)接收!'
# 郵件正文
content = MIMEMultipart('alternative')
# html內(nèi)容
msg = '''
    

拿頭來(lái)堅(jiān)持

          Life goes on, learning goes on     

    拿頭來(lái)堅(jiān)持的個(gè)人主頁(yè)          

      ''' # 郵件附加html文件 message.attach(MIMEText(msg, 'html', 'utf-8')) # 添加圖片 with open('csdn.png', 'rb') as f:     img01 = MIMEImage(f.read()) # 定義資源的名字為img01 img01.add_header('Content-ID', 'img01') # 郵件附加圖片 message.attach(img01) try:     # 使用QQ企業(yè)郵箱服務(wù)器發(fā)送     smtp = smtplib.SMTP('smtp.qq.com')     # 登錄     smtp.login(sender, password)     # 發(fā)送     smtp.sendmail(sender, receiver, message.as_string())     print('郵件發(fā)送成功!')     # 退出服務(wù)器     smtp.quit() except smtplib.SMTPException as e:     print('Error!郵件發(fā)送失??!', e)

Python基礎(chǔ)分析之郵件處理

發(fā)送圖片的郵件執(zhí)行結(jié)果:

六、接收電子郵件

接受郵件有兩種常用的協(xié)議:POP3和IMAP協(xié)議

POP3協(xié)議(Post Office Protocol-Version3,即郵局協(xié)議版本3):允許電子郵件客戶端下載服務(wù)器上的郵件,但是在客戶端的操作(如移動(dòng)郵件、標(biāo)記已讀等)不會(huì)反饋到服務(wù)器上,比如通過(guò)客戶端收取了郵箱的3封郵件并移動(dòng)到其他文件夾,郵件服務(wù)器上的這些郵件不會(huì)被同步移動(dòng)。

IMAP協(xié)議(Internet Mail Access Protocol,即Internet郵件訪問(wèn)協(xié)議):提供Webmail與電子郵件客戶端之間的雙向通信,任何在客戶端做的改變都會(huì)同步到服務(wù)器上。在客戶端對(duì)郵件進(jìn)行了操作,服務(wù)器上的郵件也會(huì)進(jìn)行相應(yīng)的操作。

七、使用POP3協(xié)議下載郵件

代碼如下:

import poplib

from email.parser import Parser

# 登錄郵箱的用戶名
username = 'baby@qq.com'(輸入你的郵箱)
# 登錄郵箱的密碼(部分郵箱為授權(quán)碼)
password = '123456'(輸入你的密碼)
# 連接郵箱服務(wù)器
pop_server = poplib.POP3('pop.qq.com')
# 打印出郵箱服務(wù)器的歡迎文字
print(pop_server.getwelcome())
# 登錄郵箱服務(wù)器
pop_server.user(username)
pop_server.pass_(password)
# 打印出當(dāng)前賬號(hào)的狀態(tài),第一個(gè)返回值為郵件數(shù),第二個(gè)返回值為占用空間
print('Server stat', pop_server.stat())
# 獲取所以郵件列表
resp, mails, octets = pop_server.list()
print(mails)
# 獲取最新的一封郵件(序列號(hào)最大的),郵件索引從1開(kāi)始計(jì)數(shù)
index = len(mails)
resp, lines, octets = pop_server.retr(index)
content = b'\r\n'.join(lines).decode('utf-8')
# 解析出郵件
msg = Parser().parsestr(content)
# 可以根據(jù)郵件索引號(hào)直接從服務(wù)器刪除郵件
# pop_server.dele(index)
# 關(guān)閉連接
pop_server.quit()

Python基礎(chǔ)分析之郵件處理

執(zhí)行結(jié)果:

b'+OK XMail POP3 Server v1.0 Service Ready(XMail v1.0)'
Server stat (15, 50814)
[b'1 1255', b'2 1286', b'3 1310', b'4 1398', b'5 1458', b'6 1450', b'7 1602', b'8 1633', b'9 5001', b'10 2347', b'11 2371', b'12 2267', b'13 5033', b'14 5077', b'15 17326']

關(guān)于Python中怎么實(shí)現(xiàn)郵件處理就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。


網(wǎng)頁(yè)標(biāo)題:Python中怎么實(shí)現(xiàn)郵件處理
網(wǎng)站URL:http://weahome.cn/article/ijcjdc.html

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部