中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在Python中對郵件進行處理

發布時間:2021-04-29 15:52:28 來源:億速云 閱讀:154 作者:Leah 欄目:開發技術

今天就跟大家聊聊有關怎么在Python中對郵件進行處理,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

python的五大特點是什么

python的五大特點:1.簡單易學,開發程序時,專注的是解決問題,而不是搞明白語言本身。2.面向對象,與其他主要的語言如C++和Java相比, Python以一種非常強大又簡單的方式實現面向對象編程。3.可移植性,Python程序無需修改就可以在各種平臺上運行。4.解釋性,Python語言寫的程序不需要編譯成二進制代碼,可以直接從源代碼運行程序。5.開源,Python是 FLOSS(自由/開放源碼軟件)之一。

一、發送電子郵件

Python標準庫提供了smtplib,用于實現SMTP協議發送郵件。標準庫還提供email模塊幫助我們構建郵件格式。SMTP(Simple Mail Transfer Protocol,即簡單郵件傳輸協議),是一組有源地址到目的地址傳送郵件的規則,用來控制信件的中轉方式。

  • 獲取QQ郵箱密碼(授權碼)

怎么在Python中對郵件進行處理 

二、發送純文本格式的郵件

import smtplib

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

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

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

發送純文本格式的郵件執行結果:

怎么在Python中對郵件進行處理

三、發送HTML格式的郵件

import smtplib

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

# 郵箱用戶名
sender = 'dad@qq.com'(輸入你的郵箱)
# 郵箱密碼(部分郵箱為授權碼)
password = '123456'(輸入你的密碼)
# 收件人郵箱地址,注意需要[]包裹,這意味著你可以寫多個郵件地址群發
receiver = ['baby@qq.com', ](輸入你要發送人的郵箱)
# 郵件正文
msg = '''
    <p><a href='https://blog.csdn.net/weixin_46382560?spm=1011.2124.3001.5343'>拿頭來堅持</p>
          Life goes on, learning goes on
        </p> <!----></div></div> <div class="user-profile-head-info-b" data-v-d1dbb6f8><ul data-v-d1dbb6f8><li data-v-d1dbb6f8><div class="user-profile-statistics-num" data-v-d1dbb6f8>22,574</div> <div class="user-profile-statistics-name" data-v-d1dbb6f8>被訪問量</div></li> <li data-v-d1dbb6f8><a href="javascript:;" rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  data-v-d1dbb6f8><div class="user-profile-statistics-num" data-v-d1dbb6f8>24</div> <div class="user-profile-statistics-name" data-v-d1dbb6f8>原創文章</div></a></li> <li data-v-d1dbb6f8><a href="https://blog.csdn.net/rank/list/total" rel="external nofollow"  rel="external nofollow"  target="_blank" data-report-click="{&quot;spm&quot;:&quot;3001.5476&quot;}" data-report-query="spm=3001.5476" data-v-d1dbb6f8><div class="user-profile-statistics-num" data-v-d1dbb6f8>128,997</div> <div class="user-profile-statistics-name" data-v-d1dbb6f8>作者排名</div></a></li> <li data-v-d1dbb6f8><a href="javascript:;" rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  data-v-d1dbb6f8><div class="user-profile-statistics-num" data-v-d1dbb6f8>762</div> <div class="user-profile-statistics-name" data-v-d1dbb6f8>粉絲數量</div></a></li></ul></div></div></div> <div class="user-profile-body" data-v-3f0fdf46 data-v-80922f46><div class="user-profile-body-inner" data-v-3f0fdf46><div class="user-profile-body-left" data-v-3f0fdf46><div class="user-profile-aside" data-v-d487ed78 data-v-3f0fdf46><div class="user-general-info single-general-info" data-v-d487ed78><ul data-v-d487ed78><!----> <!----> <li class="user-general-info-join-csdn" data-v-d487ed78><i data-v-d487ed78></i> <span data-v-d487ed78>于</span> <span class="user-general-info-key-word" data-v-d487ed78>2020-02-22</span> <span data-v-d487ed78>加入CSDN</span></li></ul></div> <!----> <div class="user-achievement user-profile-aside-common-box" data-v-d487ed78><div class="aside-common-box-head" data-v-d487ed78>獲得成就</div> <div class="aside-common-box-bottom" data-v-d487ed78><div class="aside-common-box-content" data-v-d487ed78><ul data-v-d487ed78><li data-v-d487ed78>
        <i ></i>
        <div>獲得<span>212</span>次點贊</div>
      </li><li data-v-d487ed78>
        <i ></i>
        <div>內容獲得<span>111</span>次評論</div>
      </li><li data-v-d487ed78>
        <i ></i>
        <div>獲得<span>562</span>次收藏</div>
      '''
# 指定消息體使用HTML格式
message = MIMEText(msg, 'html', 'utf-8')
# 發件人顯式的名字
message['From'] = Header('拿頭來堅持', 'utf-8')
# 收件人顯式的名字
message['To'] = Header('baby', 'utf-8')
# 郵件標題
message['Subject'] = '爸爸來信,請接收!'

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

發送HTML格式的郵件的執行結果:

怎么在Python中對郵件進行處理

四、發送帶附件的郵件

import smtplib

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

# 郵箱用戶名
sender = 'dad@qq.com'(輸入你的郵箱)
# 郵箱密碼(部分郵箱為授權碼)
password = '123456'(輸入你的密碼)
# 收件人郵箱地址,注意需要[]包裹,這意味著你可以寫多個郵件地址群發
receiver = ['baby@qq.com', ](輸入你要發送人的郵箱)
# 指定消息體使用復合類型
message = MIMEMultipart()
# 發件人顯式的名字
message['From'] = Header('拿頭來堅持', 'utf-8')
# 收件人顯式的名字
message['To'] = Header('baby', 'utf-8')
# 郵件標題
message['Subject'] = '爸爸來信,請接收!'
# 郵件正文
msg = '''
    <p><a href='https://blog.csdn.net/weixin_46382560?spm=1011.2124.3001.5343'>拿頭來堅持</p>
          Life goes on, learning goes on
        </p> <!----></div></div> <div class="user-profile-head-info-b" data-v-d1dbb6f8><ul data-v-d1dbb6f8><li data-v-d1dbb6f8><div class="user-profile-statistics-num" data-v-d1dbb6f8>22,574</div> <div class="user-profile-statistics-name" data-v-d1dbb6f8>被訪問量</div></li> <li data-v-d1dbb6f8><a href="javascript:;" rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  data-v-d1dbb6f8><div class="user-profile-statistics-num" data-v-d1dbb6f8>24</div> <div class="user-profile-statistics-name" data-v-d1dbb6f8>原創文章</div></a></li> <li data-v-d1dbb6f8><a href="https://blog.csdn.net/rank/list/total" rel="external nofollow"  rel="external nofollow"  target="_blank" data-report-click="{&quot;spm&quot;:&quot;3001.5476&quot;}" data-report-query="spm=3001.5476" data-v-d1dbb6f8><div class="user-profile-statistics-num" data-v-d1dbb6f8>128,997</div> <div class="user-profile-statistics-name" data-v-d1dbb6f8>作者排名</div></a></li> <li data-v-d1dbb6f8><a href="javascript:;" rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  data-v-d1dbb6f8><div class="user-profile-statistics-num" data-v-d1dbb6f8>762</div> <div class="user-profile-statistics-name" data-v-d1dbb6f8>粉絲數量</div></a></li></ul></div></div></div> <div class="user-profile-body" data-v-3f0fdf46 data-v-80922f46><div class="user-profile-body-inner" data-v-3f0fdf46><div class="user-profile-body-left" data-v-3f0fdf46><div class="user-profile-aside" data-v-d487ed78 data-v-3f0fdf46><div class="user-general-info single-general-info" data-v-d487ed78><ul data-v-d487ed78><!----> <!----> <li class="user-general-info-join-csdn" data-v-d487ed78><i data-v-d487ed78></i> <span data-v-d487ed78>于</span> <span class="user-general-info-key-word" data-v-d487ed78>2020-02-22</span> <span data-v-d487ed78>加入CSDN</span></li></ul></div> <!----> <div class="user-achievement user-profile-aside-common-box" data-v-d487ed78><div class="aside-common-box-head" data-v-d487ed78>獲得成就</div> <div class="aside-common-box-bottom" data-v-d487ed78><div class="aside-common-box-content" data-v-d487ed78><ul data-v-d487ed78><li data-v-d487ed78>
        <i ></i>
        <div>獲得<span>212</span>次點贊</div>
      </li><li data-v-d487ed78>
        <i ></i>
        <div>內容獲得<span>111</span>次評論</div>
      </li><li data-v-d487ed78>
        <i ></i>
        <div>獲得<span>562</span>次收藏</div>
      '''
# 郵件附加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企業郵箱服務器發送
    smtp = smtplib.SMTP('smtp.qq.com')
    # 登錄
    smtp.login(sender, password)
    # 發送
    smtp.sendmail(sender, receiver, message.as_string())
    print('郵件發送成功!')
    # 退出服務器
    smtp.quit()
except smtplib.SMTPException as e:
    print('Error!郵件發送失敗!', e)

五、發送圖片的郵件

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'(輸入你的郵箱)
# 郵箱密碼(部分郵箱為授權碼)
password = '123456'(輸入你的密碼)
# 收件人郵箱地址,注意需要[]包裹,這意味著你可以寫多個郵件地址群發
receiver = ['baby@qq.com', ](輸入你要發送人的郵箱)
# 利用related定義內嵌資源的郵件體
message = MIMEMultipart('related')
# 發件人顯式的名字
message['From'] = Header('拿頭來堅持', 'utf-8')
# 收件人顯式的名字
message['To'] = Header('baby', 'utf-8')
# 郵件標題
message['Subject'] = '爸爸來信,請接收!'
# 郵件正文
content = MIMEMultipart('alternative')
# html內容
msg = '''
    <p><a href='https://blog.csdn.net/weixin_46382560?spm=1011.2124.3001.5343'>拿頭來堅持</p>
          Life goes on, learning goes on
    <p>
    拿頭來堅持的個人主頁
    <img src='cid:img01'>
    </p>
      '''
# 郵件附加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企業郵箱服務器發送
    smtp = smtplib.SMTP('smtp.qq.com')
    # 登錄
    smtp.login(sender, password)
    # 發送
    smtp.sendmail(sender, receiver, message.as_string())
    print('郵件發送成功!')
    # 退出服務器
    smtp.quit()
except smtplib.SMTPException as e:
    print('Error!郵件發送失敗!', e)

發送圖片的郵件執行結果:

怎么在Python中對郵件進行處理

六、接收電子郵件

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

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

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

七、使用POP3協議下載郵件

import poplib

from email.parser import Parser

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

執行結果:

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']

看完上述內容,你們對怎么在Python中對郵件進行處理有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

长阳| 深州市| 平山县| 项城市| 红河县| 景宁| 饶平县| 获嘉县| 五华县| 呼玛县| 佛教| 吉安县| 和政县| 图们市| 武宁县| 扎囊县| 静乐县| 商城县| 长治县| 荆州市| 平利县| 辽宁省| 肥西县| 诏安县| 云浮市| 沁阳市| 乳山市| 莱西市| 泰安市| 岳西县| 同德县| 信阳市| 盐边县| 临海市| 五常市| 三穗县| 开阳县| 扬州市| 都兰县| 泗阳县| 昌都县|