Python使用smtplib?實(shí)現(xiàn)單發(fā)和群發(fā)郵件驗(yàn)證碼
前言:
Python smtplib 教程:展示了如何使用 smtplib 模塊在 Python 中發(fā)送電子郵件。 要發(fā)送電子郵件,我們使用 Python 開(kāi)發(fā)服務(wù)器,Mailtrap 在線服務(wù)和共享的網(wǎng)絡(luò)托管郵件服務(wù)器。
smtplib庫(kù)
python發(fā)送郵件需要用到smtplib庫(kù),先簡(jiǎn)單了解一下
SMTP
簡(jiǎn)單郵件傳輸協(xié)議(SMTP)是用于電子郵件傳輸?shù)耐ㄐ艆f(xié)議。 Is 是一個(gè) Internet 標(biāo)準(zhǔn),該標(biāo)準(zhǔn)于 1982 年由 RFC 821 首次定義,并于 2008 年由 RFC 5321 更新為擴(kuò)展 SMTP 添加。 郵件服務(wù)器和其他郵件傳輸代理使用 SMTP 發(fā)送和接收郵件。
smtplib
是一個(gè) Python 庫(kù),用于使用簡(jiǎn)單郵件傳輸協(xié)議(SMTP)發(fā)送電子郵件。 smtplib
是內(nèi)置模塊; 我們不需要安裝它。 它抽象了 SMTP 的所有復(fù)雜性。
郵件服務(wù)器
要實(shí)際發(fā)送電子郵件,我們需要有權(quán)訪問(wèn)郵件服務(wù)器。 Python 帶有一個(gè)簡(jiǎn)單的開(kāi)發(fā)郵件服務(wù)器。 Mailslurper 是易于使用的本地開(kāi)發(fā)服務(wù)器。 共享的虛擬主機(jī)提供商使我們可以訪問(wèn)郵件服務(wù)器。 我們可以在帳戶中找到詳細(xì)信息。
smtp協(xié)議的基本命令包括:
- HELO 向服務(wù)器標(biāo)識(shí)用戶身份\
- MAIL 初始化郵件傳輸 mail from:\
- RCPT 標(biāo)識(shí)單個(gè)的郵件接收人;常在MAIL命令后面,可有多個(gè)rcpt to:\
- DATA 在單個(gè)或多個(gè)RCPT命令后,表示所有的郵件接收人已標(biāo)識(shí),并初始化數(shù)據(jù)傳輸,以.結(jié)束\
- VRFY 用于驗(yàn)證指定的用戶/郵箱是否存在;由于安全方面的原因,服務(wù)器常禁止此命令\
- EXPN 驗(yàn)證給定的郵箱列表是否存在,擴(kuò)充郵箱列表,也常被禁用\
- HELP 查詢服務(wù)器支持什么命令\
- NOOP 無(wú)操作,服務(wù)器應(yīng)響應(yīng)OK\
- QUIT 結(jié)束會(huì)話\
- RSET 重置會(huì)話,當(dāng)前傳輸被取消\
- MAIL FROM 指定發(fā)送者地址\
- RCPT TO 指明的接收者地址
實(shí)戰(zhàn)
1.126郵箱一般默認(rèn)關(guān)閉SMTP服務(wù),我們得先去開(kāi)啟它
2.Python代碼
# smtplib 用于郵件的發(fā)信動(dòng)作 import smtplib from email.mime.text import MIMEText # email 用于構(gòu)建郵件內(nèi)容 from email.header import Header # 用于構(gòu)建郵件頭 # 發(fā)信方的信息:發(fā)信郵箱,126 郵箱授權(quán)碼 from_addr = 'trobot@126.com' password = 'POP3/SMTP服務(wù)授權(quán)密碼,上一步可以獲取' # 收信方郵箱 to_addr = 'xxxx@163.com' # 發(fā)信服務(wù)器 smtp_server = 'smtp.126.com' """標(biāo)題""" head="郵箱驗(yàn)證碼" """正文""" text="【TRobot】您的驗(yàn)證碼32123,該驗(yàn)證碼5分鐘內(nèi)有效,請(qǐng)勿泄漏于他人!" # 郵箱正文內(nèi)容,第一個(gè)參數(shù)為內(nèi)容,第二個(gè)參數(shù)為格式(plain 為純文本),第三個(gè)參數(shù)為編碼 msg = MIMEText(text,'plain','utf-8') # 郵件頭信息 msg['From'] = Header(from_addr) msg['To'] = Header(to_addr) msg['Subject'] = Header(head) # 開(kāi)啟發(fā)信服務(wù),這里使用的是加密傳輸 #server = smtplib.SMTP_SSL() server=smtplib.SMTP_SSL(smtp_server) server.connect(smtp_server,465) # 登錄發(fā)信郵箱 server.login(from_addr, password) # 發(fā)送郵件 server.sendmail(from_addr, to_addr, msg.as_string()) # 關(guān)閉服務(wù)器 server.quit()
到此這篇關(guān)于Python使用smtplib 實(shí)現(xiàn)單發(fā)和群發(fā)郵件驗(yàn)證碼的文章就介紹到這了,更多相關(guān)python發(fā)送郵件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python游戲的魅力之冒險(xiǎn)島實(shí)戰(zhàn)項(xiàng)目
我看了一眼沉迷《夢(mèng)幻國(guó)度》的兒子!氣就不打一處來(lái)!讓你見(jiàn)識(shí)一下Python游戲的魅力,python實(shí)戰(zhàn)冒險(xiǎn)島游戲碼起,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值2021-09-09Python常見(jiàn)數(shù)據(jù)類型轉(zhuǎn)換操作示例
這篇文章主要介紹了Python常見(jiàn)數(shù)據(jù)類型轉(zhuǎn)換操作,結(jié)合實(shí)例形式分析了Python針對(duì)列表、集合、元組、字典等數(shù)據(jù)類型轉(zhuǎn)換的相關(guān)操作技巧,需要的朋友可以參考下2019-05-05Python腳本如何在bilibili中查找彈幕發(fā)送者
這篇文章主要介紹了如何在bilibili中查找彈幕發(fā)送者,本文給大家分享小編寫(xiě)的一個(gè)python腳本來(lái)實(shí)現(xiàn)bilibili彈幕發(fā)送者,需要的朋友可以參考下2020-06-06python中的break、continue、exit()、pass全面解析
下面小編就為大家?guī)?lái)一篇python中的break、continue、exit()、pass全面解析。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08python 的numpy庫(kù)中的mean()函數(shù)用法介紹
這篇文章主要介紹了python 的numpy庫(kù)中的mean()函數(shù)用法介紹,具有很好對(duì)參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-03-03