我的Python學習之路
大家好,記錄一下我的Python學習之路,在家隔離期間,喜歡上了Python,今天花了一上午的時間利用yagmail模塊寫了一個自動發送群郵件的代碼。
要想當年,苦于尋求群發機器人或者軟體群發訊息,都沒有達到自己的理想狀態,真是求人不如求己;,
1,利用yagmail單獨發送一封郵件很簡單,但是這都不是我們想要的結果,下面先看一下這個代碼:
import yagmail
yag = yagmail.SMTP(user='[email protected]',
password='*******************', host='smtp.qq.com') # 這里是填寫自己的SMTP授權碼,我的這里用星號代替
yag.send([email protected], subject=‘這是郵件標題’, contents=‘這是郵件內容’)
運行代碼就能給1243813579郵箱發送一封郵件。(這是用我自己的qq測驗的)
2,鑒于功能得實作,就要利用自己之前學習的知識進行升華唄
假設我有一個Excel表里面有好多郵箱,如何利用Python能夠實作,群發功能
需要用到的模塊是:xlrd,
考慮到重復發送同樣的內容會被檢測到,并被禁止,所以匯入一個隨機模塊:random
又不能過于頻繁發送郵件,再匯入一個時間模塊:time
利用for ......in .....回圈將excel 中的郵箱,遍歷出來直行代碼進行發送
不會描述直接上代碼吧:
import yagmail,random,xlrd,time
yag = yagmail.SMTP(user='[email protected]',
password='*****************', host='smtp.qq.com')
open_text = xlrd.open_workbook('D:/郵箱資源.xlsx')
open_sheet = open_text.sheet_by_index(0)
for i in range(1,open_sheet.nrows):
time.sleep(30)
email_num = open_sheet.cell_value(i,1)
# mm = open_sheet.cell_value(i,1)
suiji = random.randint(1,10000)
subject = ('邀請你自動化[%s]發[%s]送' % (suiji,suiji))
body = ('''朋友你好:
這是我自己撰寫的自動發送郵件的代碼,不求人不依靠軟體,純代碼;
如你也需要,忽[%s]略 可以加我微信:fafxff,教你一鍵群發;
如有打擾,下面奉上全網影視會員,在家隔離消磨時間!'''% suiji)
h1 = '<h1>云霄視界影視會員</h1>'
a_link = '點擊<a href="http://ooo.jumanjian.com/app/index/qudao.html?uid=NDU2NQ==">' \
'下載連接</a>,前往下載,會員激活碼: 聯系里面的客服直接獲取'
yag.send(to=email_num, subject=subject, contents=[body,h1,a_link])
time.sleep(30),,這個是讓代碼每30秒直行一次
suiji = random.randint(1,10000),,生成一個0到10000亂數插入郵件標題和內容中
a_link = '點擊<a href="http://ooo.jumanjian.com/app/index/qudao.html?uid=NDU2NQ==">,,這個是我插入的一個影視會員的地址,可以全網會員,以免發送郵件 打擾別人,送的福利。
3,在群發程序中,有些郵箱發送失敗就會終止代碼,自己也不知道代碼直行到什么地方了,發送了一個人,所有再次進行升級
加入一個tyr函式,到直行錯誤的時候,except: contuine 跳過此次發送
并且每次發送都print一次。
最終代碼如下:
import yagmail,random,xlrd,time
yag = yagmail.SMTP(user='[email protected]',
password='******************', host='smtp.qq.com')
open_text = xlrd.open_workbook('D:/郵箱資源.xlsx')
open_sheet = open_text.sheet_by_index(0)
for i in range(1,open_sheet.nrows):
time.sleep(30)
email_num = open_sheet.cell_value(i,1)
# mm = open_sheet.cell_value(i,1)
suiji = random.randint(1,10000)
subject = ('邀請你自動化[%s]發[%s]送' % (suiji,suiji))
body = ('''朋友你好:
這是我自己撰寫的自動發送郵件的代碼,不求人不依靠軟體,純代碼;
如你也需要,忽[%s]略 可以加我微信:fafxff,教你一鍵群發;
如有打擾,下面奉上全網影視會員,在家隔離消磨時間!'''% suiji)
h1 = '<h1>云霄視界影視會員</h1>'
a_link = '點擊<a href="http://ooo.jumanjian.com/app/index/qudao.html?uid=NDU2NQ==">' \
'下載連接</a>,前往下載,會員激活碼: 聯系里面的客服直接獲取'
try:
yag.send(to=email_num, subject=subject, contents=[body,h1,a_link])
except:
continue
print('共計發送的郵件數:%d' % i)
發送結果如下:


到此結束,大家有什么好的建議或者學習都可以相互交流,想要學習我里面提到的一些第三方模塊都可以交流。謝謝
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/100918.html
標籤:人工智能技術
