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

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

Pythonsmtplib模塊實(shí)現(xiàn)發(fā)送郵件

本篇文章給大家分享的是有關(guān)Python smtplib模塊實(shí)現(xiàn)發(fā)送郵件,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊(cè)、虛擬主機(jī)、營(yíng)銷軟件、網(wǎng)站建設(shè)、南京網(wǎng)站維護(hù)、網(wǎng)站推廣。

使用 Python 的 smtplib 模塊來(lái)發(fā)送郵件非常簡(jiǎn)單,大部分底層的處理都由 smtplib 進(jìn)行了封裝,開(kāi)發(fā)者只需要按照如下 3 步來(lái)發(fā)送郵件即可:

連接 SMTP 服務(wù)器,并使用用戶名、密碼登錄服務(wù)器。

創(chuàng)建 EmailMessage 對(duì)象,該對(duì)象代表郵件本身。

調(diào)用代表與 SMTP 服務(wù)器連接的對(duì)象的 sendmail() 方法發(fā)送郵件。

下面程序按照上面步驟示范了如何發(fā)送郵件:

純文本復(fù)制

import smtplib
from email.message import EmailMessage

# 定義SMTP服務(wù)器地址:
smtp_server = 'smtp.qq.com'
# 定義發(fā)件人地址
from_addr = 'kongyeeku@qq.com'
# 定義登錄郵箱的密碼
password = '123456'
# 定義收件人地址:
to_addr = 'kongyeeku@163.com'

# 創(chuàng)建SMTP連接
#conn = smtplib.SMTP(smtp_server, 25)
conn = smtplib.SMTP_SSL(smtp_server,465)
conn.set_debuglevel(1)
conn.login(from_addr, password)            #①
# 創(chuàng)建郵件對(duì)象
msg = EmailMessage()
# 設(shè)置郵件內(nèi)容
msg.set_content('您好,這是一封來(lái)自Python的郵件', 'plain', 'utf-8')
# 發(fā)送郵件
conn.sendmail(from_addr, [to_addr], msg.as_string())
# 退出連接
conn.quit()

上面程序中,第 15 行、19 行和 23 行代碼基本代表了使用 Python 的 smtp 模塊發(fā)送郵件的 3 大核心步驟,其中 ① 號(hào)代碼使用了發(fā)件人的地址和密碼來(lái)登錄郵箱。

關(guān)于該程序有以下幾點(diǎn)需要說(shuō)明:

程序中提供的郵箱密碼是錯(cuò)誤的,不用嘗試。讀者必須改為使用自己的郵箱地址和密碼。

早期SMTP 服務(wù)器都采用普通的網(wǎng)絡(luò)連接,因此默認(rèn)端口是 25。但現(xiàn)在絕大部分 SMTP 都是基于 SSL(Secure Socket Layer)的,這樣保證網(wǎng)絡(luò)上傳輸?shù)男畔⒍际羌用苓^(guò)的,從而使得信息更加安全。這種基于 SSL 的 SMTP 服務(wù)器的默認(rèn)端口是 465。上面程序中連接的是 QQ 郵箱的基于 SSL 的 SMTP 服務(wù)器,QQ 郵箱服務(wù)器不支持普通的 SMTP。

國(guó)內(nèi)有些公司的免費(fèi)郵箱(比如 QQ 郵箱)默認(rèn)是關(guān)閉了 SMTP 的,因此需要讀者登錄郵箱進(jìn)行設(shè)置。

由于該程序發(fā)送的郵件太簡(jiǎn)單,郵件沒(méi)有主題,而且程序在測(cè)試過(guò)程中可能會(huì)發(fā)送很多郵件,因此有些郵箱服務(wù)商會(huì)將該程序發(fā)送的郵件當(dāng)成垃圾郵件。

早期 Python 2.x 提供了 email.mime、email.header、email.charset、email.encoders、email.iterators 等庫(kù)來(lái)處理郵件,這些庫(kù)設(shè)計(jì)得過(guò)于煩瑣,用起來(lái)極為不便,因此讀者應(yīng)該盡快改為使用最新的 Python 庫(kù)。本教程不會(huì)介紹這些過(guò)時(shí)的庫(kù)。具體可參考 https://docs.python.org/3/library/email.html 頁(yè)面的說(shuō)明。

由于程序打開(kāi)了 smtplib 調(diào)試模式(將 debuglevel 設(shè)置為 1),因此在運(yùn)行該程序時(shí),可以看到 SMTP 發(fā)送郵件的詳細(xì)過(guò)程。當(dāng)程序運(yùn)行結(jié)束后,將可以在收件人郵箱中看到一封新郵件(可能在垃圾郵件內(nèi)),如下圖所示Python smtplib模塊實(shí)現(xiàn)發(fā)送郵件

上面這封郵件是最簡(jiǎn)單的,沒(méi)有為該郵件設(shè)置主題、發(fā)件人名字和收件人名字,郵件內(nèi)容也只是簡(jiǎn)單的文本。如果要為郵件設(shè)置主題、發(fā)件人名字和收件人名字,那么只需設(shè)置 EmailMessage 對(duì)象的相應(yīng)屬性即可。如果程序要將郵件內(nèi)容改為 HTML 內(nèi)容,那么只需將調(diào)用 EmailMessage的set_content() 方法的第二個(gè)參數(shù)設(shè)置為 html 即可。

例如,如下程序只是對(duì) EmailMessage 進(jìn)行了修改:

import smtplib
from email.message import EmailMessage

# 定義SMTP服務(wù)器地址:
smtp_server = 'smtp.qq.com'
# 定義發(fā)件人地址
from_addr = 'kongyeeku@qq.com'
# 定義登錄郵箱的密碼
password = '123456'
# 定義收件人地址:
to_addr = 'kongyeeku@163.com'

# 創(chuàng)建SMTP連接
#conn = smtplib.SMTP(smtp_server, 25)
conn = smtplib.SMTP_SSL(smtp_server,465)
conn.set_debuglevel(1)
conn.login(from_addr, password)            #①
# 創(chuàng)建郵件對(duì)象
msg = EmailMessage()
# 設(shè)置郵件內(nèi)容,指定郵件內(nèi)容為HTML
msg.set_content('

郵件內(nèi)容

' +     '

您好,這是一封來(lái)自Python的郵件

' +     '來(lái)自C語(yǔ)言中文網(wǎng)', 'html', 'utf-8') msg['subject'] = '一封HTML郵件' msg['from'] = '李剛 <%s>' % from_addr msg['to'] = '新用戶 <%s>' % to_addr # 發(fā)送郵件 conn.sendmail(from_addr, [to_addr], msg.as_string()) # 退出連接 conn.quit()

該程序與上一個(gè)程序基本相似,只是在調(diào)用 set_content() 方法時(shí)將第二個(gè)參數(shù)改為了“html”。

以上就是Python smtplib模塊實(shí)現(xiàn)發(fā)送郵件,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


文章標(biāo)題:Pythonsmtplib模塊實(shí)現(xiàn)發(fā)送郵件
URL標(biāo)題:http://weahome.cn/article/gssddg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部