使用Email自动发送,有利于实时获取爬取信息,更方便的掌握要闻。
MINEText库定义了发送信息,
Header定义了发送的主题
formate定义了收件人和发件人的格式信息。
smtplib定义了发送邮件的方案
time用于延时发送
from email.mime.text import MIMEText
from email.header import Header
from email.utils import formataddr
import smtplib
import time
from_addr定义了发送的邮箱地址,password定义了SMTP的授权码(非实际密码)
to_addr定义了接收人的邮箱地址,smtp_server定义了smtp服务器地址
msg定义了发送内容,其中的From,To,Subject定义相应的地址和信息
from_addr='xxx@qq.com'
password='xxx'
to_addr='xxx@qq.com'
smtp_server='smtp.qq.com'
msg=MIMEText('你好','plain','utf-8')
msg['From']=formataddr(['小',from_addr])
msg['To']=formataddr(['123','to_addr'])
msg['Subject']=Header('测试发送','utf-8').encode()
链接SMTP服务器时出错,确认smtp_server地址是否无误
登录过程出错,确认账号,密码。密码为授权码,并确认邮箱开启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')