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