這真是黑科技啊,原來推送的廣告郵件就是這樣產生的。好人用來發節日賀卡,給女朋友紀念郵件;壞人會學着發廣告,垃圾郵件。我希望大家能學會了做些有趣的有意義的事情。

今天我帶大家實現下簡單的發郵件功能。我們要使用到email和smtplib庫,實現環境python3.5.
首先我們要知道用python代理登錄qq郵箱發郵件,是需要更改自己qq郵箱設置的。在這裡大家需要做兩件事情:郵箱開啟SMTP功能。
之後我們來看看如何更改模板代碼,實現使用Python登錄QQ郵箱發送QQ郵件。

我們先附上最簡單的代碼
from email.mime.text import MIMEText from email.header import Header from smtplib import SMTP_SSL #qq郵箱smtp服務器 host_server = 'smtp.qq.com' #sender_qq為發件人的qq號碼 sender_qq = '3723358***' #pwd為qq郵箱的授權碼 pwd = '**iao***lxpic***' #發件人的郵箱 sender_qq_mail = '3723358***@qq.com' #收件人郵箱 receiver = 'thunder***@gmail.com' #郵件的正文內容 mail_content = '你好,我是來自知乎的[鄧旭東HIT] ,現在在進行一項用python登錄qq郵箱發郵件的測試' #郵件標題 mail_title = '鄧旭東HIT 的郵件' #ssl登錄 smtp = SMTP_SSL(host_server) #set_debuglevel()是用來調試的。參數值為1表示開啟調試模式,參數值為0關閉調試模式 smtp.set_debuglevel(1) smtp.ehlo(host_server) smtp.login(sender_qq, pwd) msg = MIMEText(mail_content, "plain", 'utf-8') msg["Subject"] = Header(mail_title, 'utf-8') msg["From"] = sender_qq_mail msg["To"] = receiver smtp.sendmail(sender_qq_mail, receiver, msg.as_string()) smtp.quit()
只需要更改host_server 、sender_qq、pwd、sender_qq_mail、receiver、mail_content、mail_title等數據,就可以實現簡單的發送任務。
但是上面的代碼如果只是用來給一個收件人發一次還好,如果收件人數以千計,發送的內容各一,重複寫代碼太麻煩。下面是我更改後的代碼
from email.mime.text import MIMEText from email.header import Header from smtplib import SMTP_SSL #sender_qq為發件人的qq號碼 sender_qq = '3723358***' #pwd為qq郵箱的授權碼 pwd = '**iao***lxpic***' #收件人郵箱receiver receiver='thunder***@gmail.com' #郵件的正文內容 mail_content = '你好,我是來自知乎的[鄧旭東HIT] ,現在在進行一項用python登錄qq郵箱發郵件的測試' #郵件標題 mail_title = '鄧旭東HIT 的郵件' def send_mail(sender_qq='',pwd='', receiver='',mail_title='',mail_content=''): # qq郵箱smtp服務器 host_server = 'smtp.qq.com' sender_qq_mail = sender_qq+'@qq.com' #ssl登錄 smtp = SMTP_SSL(host_server) #set_debuglevel()是用來調試的。參數值為1表示開啟調試模式,參數值為0關閉調試模式 smtp.set_debuglevel(1) smtp.ehlo(host_server) smtp.login(sender_qq, pwd) msg = MIMEText(mail_content, "plain", 'utf-8') msg["Subject"] = Header(mail_title, 'utf-8') msg["From"] = sender_qq_mail msg["To"] = receiver smtp.sendmail(sender_qq_mail, receiver, msg.as_string()) smtp.quit() for i in range(10): send_mail(sender_qq=sender_qq,pwd=pwd, receiver=receiver,mail_title=mail_title, mail_content=mail_content)
注意MIMEText函數中的第二個參數為「plain」時,發送的是text文本。如果為「html」,則能發送網頁格式文本郵件。
msg = MIMEText(mail_content, "plain", 'utf-8')
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/274755.html
微信掃一掃
支付寶掃一掃