python的Email提醒

目的意義

使用Email自動發送,有利於實時獲取爬取信息,更方便的掌握要聞。python

導入相關庫

MINEText庫定義了發送信息,服務器

Header定義了發送的主題測試

formate定義了收件人和發件人的格式信息。ui

smtplib定義了發送郵件的方案code

time用於延時發送orm

from email.mime.text import MIMEText
from email.header import Header
from email.utils import formataddr
import smtplib
import time

定義發送內容格式與服務器等

from_addr定義了發送的郵箱地址,password定義了SMTP的受權碼(非實際密碼server

to_addr定義了接收人的郵箱地址,smtp_server定義了smtp服務器地址blog

msg定義了發送內容,其中的From,To,Subject定義相應的地址和信息utf-8

from_addr='1872040489@qq.com'
password='qikkbrwtaxrvbbhb'
to_addr='1543147398@qq.com'
smtp_server='smtp.qq.com'
msg=MIMEText('黃順,你好','plain','utf-8')
msg['From']=formataddr(['小白',from_addr])
msg['To']=formataddr(['黃順','to_addr'])
msg['Subject']=Header('測試發送','utf-8').encode()

登陸,發送與退出

連接SMTP服務器時出錯,確認smtp_server地址是否無誤string

登陸過程出錯,確認帳號,密碼。密碼爲受權碼,並確認郵箱開啓SMTP服務功能

郵件頻繁發送容易被限制(每分鐘儘可能不要超過20條),加入延時便於頻繁發送更多郵件

server=smtplib.SMTP(smtp_server,25)
server.login(from_addr, password)
for i in range(100):
    time.sleep(2)
    server.sendmail(from_addr, [to_addr], msg.as_string())
    print(i)
server.quit()
print('finished')

發送效果截圖

相關文章
相關標籤/搜索