日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)Python教程:python發(fā)郵件要裝什么

在介紹具體的實現(xiàn)python發(fā)郵件的具體操作之前,我覺得有必要介紹下SMTP,更有助于理解python發(fā)郵件的實現(xiàn)原理。SMTP協(xié)議屬于TCP/IP協(xié)議簇,即簡單郵件傳輸協(xié)議,它是一組用于由源地址到目的地址傳送郵件的規(guī)則,由它來控制信件的中轉(zhuǎn)方式,python實現(xiàn)發(fā)郵件也是基于此基礎(chǔ)上進行封裝的。

公司主營業(yè)務(wù):成都網(wǎng)站制作、網(wǎng)站設(shè)計、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)公司推出湟中免費做網(wǎng)站回饋大家。

1.python發(fā)郵件所需要的基礎(chǔ)包

python發(fā)送郵件需要用到python自帶的兩個模塊,smtplib和email。直接import導(dǎo)入,無需下載。

python的smtplib提供了一種很方便的途徑發(fā)送電子郵件,它對smtp協(xié)議進行了簡單的封裝。

2.smtplib的用法

smtplib用法相對來說很簡單,就是分為兩步。

創(chuàng)建SMTP的操作對象并連接smtp目標(biāo)服務(wù)器,可以是163、QQ等。

根據(jù)自己的賬號登錄目標(biāo)服務(wù)器(自己的郵箱地址和郵箱授權(quán)碼)

調(diào)用對象中的方法,發(fā)送郵件到目標(biāo)地址。

python與smtp服務(wù)器之間的具體交互的通用代碼:

import smtplib
server = smtplib.SMTP(mailserver, port)  # 發(fā)件人郵箱中的SMTP服務(wù)器,端口是25
server.login(sender, passwd)  # 發(fā)件人郵箱賬號、郵箱授權(quán)碼
# msg.as_string()中as_string()是將msg(MIMEText或MIMEMultipart對象)變?yōu)閟tr。
server.sendmail(sender, receive, msg.as_string())  
server.quit()

具體的python連接目標(biāo)服務(wù)器的代碼如下:注:本文章用的是qq的smtp服務(wù)器。

相關(guān)推薦:《Python基礎(chǔ)教程》

常用郵箱的smtp服務(wù)器地址:

新浪郵箱:smtp.sina.com,搜狐郵箱:smtp.sohu.com,qq郵箱:smtp.qq.com

sender_maile='80617252@qq.com' # 發(fā)送方的郵箱地址
sender_pass = 'lsjdfsljdfk' # 郵箱提供的授權(quán)碼,可在第三方登錄,我這個是隨便打的。
sftp_obj =smtplib.SMTP('smtp.qq.com', 25)
sftp_obj.login(sender_mail, sender_pass)
#三個參數(shù)分別是:發(fā)件人郵箱賬號,收件人郵箱賬號,發(fā)送的郵件體
sftp_obj.sendmail(sender_mail, receiver_mail, msg_root.as_string())
sftp_obj.quit()

3.email模塊的詳細理解和使用

email模塊下的mime模塊下有常用的三個模塊,三個模塊中有三個大類。其實就是下邊這三個了,說的很繞,下邊為導(dǎo)入方式,一目了然。

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

簡單說下他們的關(guān)系,如果構(gòu)造一個MIMEText對象,就表示一個文本郵件對象,如果構(gòu)造一個MIMEImage對象,就表示一個作為附件的圖片對象,要把多個對象組合起來,就用MIMEMultipart對象,他代表的是整個郵件。這樣說應(yīng)該還不是很清晰,下邊就分開來說,最后會總的總結(jié),在最后邊就是完整的代碼(可以發(fā)送一切內(nèi)容的代碼)。

A.MIMEText對象中有三個需要我們設(shè)置的參數(shù),一個是正文內(nèi)容,一個是正文內(nèi)容的類型,例如:”text/plain”和”text/html”,一個是正文內(nèi)容的編碼。

構(gòu)造普通文本:

text_info = 'hello world '
text_sub = MIMEText(text_info,'plain', 'utf-8')

構(gòu)造超文本:

url = "https://blog.csdn.net/chinesepython"
html_info = """
    

點擊以下鏈接,你會去向一個更大的世界

    

click me

    

i am very glasses for you

    """ % url html_sub = MIMEText(html_info, 'html', 'utf-8')   # 如果不加下邊這行代碼的話,上邊的文本是不會正常顯示的,會把超文本的內(nèi)容當(dāng)做文本顯示 html_sub["Content-Disposition"] = 'attachment; filename="csdn.html"'

構(gòu)造base64數(shù)據(jù)流,用于發(fā)送文件的時候使用,構(gòu)造附件代碼:

txt_file = open(r'D:\python_files\files\hello_world.txt', 'rb').read()
txt = MIMEText(txt_file, 'base64', 'utf-8')
txt["Content-Type"] = 'application/octet-stream'
# 命名發(fā)送的附件
txt.add_header('Content-Disposition', 'attachment', filename='hello_world.txt')

B.MIMEImage對象中只需要把讀取的文件傳入就行。

構(gòu)造圖片:

image_file = open(r'D:\python_files\images\test.png', 'rb').read()
image = MIMEImage(image_file)
image.add_header('Content-ID', '')
# 命名發(fā)送的圖片
image["Content-Disposition"] = 'attachment; filename="red_people.png"'

C.MIMEMultipart對象創(chuàng)建的類型有三種,此模塊主要是通過attach方法把上邊構(gòu)造的內(nèi)容傳入到郵件的整體內(nèi)容中。

郵件類型為”multipart/alternative”的郵件正文中包括純文本正文(text/plain)和超文本正文(text/html)。

郵件類型為”multipart/related”的郵件正文中包括圖片,聲音等內(nèi)嵌資源。

郵件類型為”multipart/mixed”的郵件包含附件,圖片,文本等都可以添加,所以發(fā)的內(nèi)容多的話一般是用這個的,選擇mixed類型,什么內(nèi)容都可以發(fā)。


新聞標(biāo)題:創(chuàng)新互聯(lián)Python教程:python發(fā)郵件要裝什么
URL鏈接:http://www.dlmjj.cn/article/djscppp.html