Python 調(diào)用API發(fā)送郵件
在運(yùn)營(yíng)或者對(duì)各種 SDK 或者 API 進(jìn)行調(diào)試的時(shí)候,郵件功能基本上都會(huì)被使用到。
在測(cè)試的時(shí)候,可能很多人都會(huì)使用 SMTP 或者自己的郵箱使用 SMTP 來(lái)進(jìn)行發(fā)送,通常來(lái)說(shuō)是沒(méi)有問(wèn)題的。
但是需要知道一個(gè)網(wǎng)站或者一個(gè)平臺(tái)在一個(gè)很短的時(shí)間內(nèi)需要發(fā)送大量的郵件,同時(shí)郵件還有可能被防火墻阻擋等情況的發(fā)生導(dǎo)致無(wú)法送達(dá)。
因此普通郵箱自帶的 SMTP 通常是沒(méi)有辦法滿足需求的,因此我們可能需要一些專業(yè)的郵箱服務(wù),具體使用哪個(gè)服務(wù),我們就不在這里說(shuō)明了,避免廣告嫌疑。
一般來(lái)說(shuō)專業(yè)的郵箱服務(wù)器都會(huì)提供 API 和 SMTP 2 種方式,在這里我們嘗試使用 Python 調(diào)用 API 來(lái)進(jìn)行發(fā)送。
Python 調(diào)用 APIPython 調(diào)用 API 非常簡(jiǎn)單,通常需要一個(gè)稱為 requests 的類就可以了。
首先你需要在各大郵件發(fā)送平臺(tái)上面對(duì)發(fā)送 API 使用的 KEY 進(jìn)行設(shè)置。
我們當(dāng)前使用的郵件服務(wù)器,提供了一個(gè) Sandbox 發(fā)送域名,通常為了避免發(fā)送大量的垃圾郵件,你還需要將授權(quán)的郵箱地址添加進(jìn)來(lái)。
這個(gè)的目的是只會(huì)將發(fā)送的郵件發(fā)送到指定的郵箱地址中,避免在調(diào)試 API 的時(shí)候可能不小心發(fā)送大量郵件導(dǎo)致問(wèn)題。
當(dāng)完成上面 2 個(gè)步驟后,可以選擇 API。
然后選擇上面的代碼中的 Python 代碼。
代碼分析。
上面的代碼就是非常簡(jiǎn)單的 Request 代碼了。
需要執(zhí)行上面的代碼,你需要下面幾個(gè)配置:
API 地址,根據(jù)不同的服務(wù)器不同,API 的地址都會(huì)告訴給你。 Key,不同的 API 授權(quán)方式不一樣,你需要到你郵件服務(wù)商上面找的分配給你的 KEY,通常這個(gè) KEY 是被用于授權(quán)使用的。 數(shù)據(jù),python 的 request 能夠接受數(shù)據(jù),這個(gè)參數(shù)為 data,在 data 中通常使用 JSON 的數(shù)據(jù)格式,具體配置你需要參考下 Python 的函數(shù)參數(shù)和郵件服務(wù)商提供的配置。在上面的參數(shù)中,我們可以進(jìn)行配置后進(jìn)行郵件發(fā)送的測(cè)試了。
如果一切順利,API 將會(huì)返回特定的結(jié)果。
如果你希望進(jìn)行真實(shí)的郵件測(cè)試的話,那么需要使用真實(shí)的域名配置。
以上就是Python 調(diào)用API發(fā)送郵件的詳細(xì)內(nèi)容,更多關(guān)于Python 發(fā)送郵件的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. Intellij IDEA 2019 最新亂碼問(wèn)題及解決必殺技(必看篇)2. Android Manifest中meta-data擴(kuò)展元素?cái)?shù)據(jù)的配置與獲取方式3. css3溢出隱藏的方法4. JS繪圖Flot如何實(shí)現(xiàn)動(dòng)態(tài)可刷新曲線圖5. 未來(lái)的J2EE主流應(yīng)用框架:對(duì)比Spring和EJB36. Android自定義View實(shí)現(xiàn)掃描效果7. 關(guān)于HTML5的img標(biāo)簽8. ASP.NET MVC獲取多級(jí)類別組合下的產(chǎn)品9. CSS3實(shí)現(xiàn)動(dòng)態(tài)翻牌效果 仿百度貼吧3D翻牌一次動(dòng)畫特效10. JS+css3實(shí)現(xiàn)幻燈片輪播圖
