1.首先去QQ邮箱 设置-》账户 找到邮箱服务
2.打开smtp服务,生成授权码,这里需要QQ邮箱绑定手机号发送验证码发送一条短信进行验证。
发送后,复制授权码。稍后会用到。
3.编写程序
import ssl
import requests
import requests
import json
from flask import jsonify
from flask import Flask, request
# smtplib 用于邮件的发信动作
import smtplib
# email 用于构建邮件内容
from email.mime.text import MIMEText
# 构建邮件头
from email.header import Header
from email.message import EmailMessage
import schedule
import time
from threading import Timerdef sms():# 这里我调用接口了,如果不调用 可以直接删除xg_url = ''# 无需安装第三方库key = 'xx' # 换成你的QQ邮箱SMTP的授权码(QQ邮箱设置里)EMAIL_ADDRESS = 'xxx@qq.com' # 换成你的邮箱地址EMAIL_PASSWORD = keysmtp = smtplib.SMTP('smtp.qq.com', 25)context = ssl.create_default_context()sender = EMAIL_ADDRESS # 发件邮箱receiver = ['xxx@qq.com', 'xxx@qq.com', 'xxx@qq.com']# 收件邮箱subject = "主题"# 这里我调用了自己的接口,如果不需要直接将body改为 body = '正文'body = requests.get(xg_url).textmsg = EmailMessage()msg['subject'] = subject # 邮件主题msg['From'] = sendermsg['To'] = receivermsg.set_content(body) # 邮件内容with smtplib.SMTP_SSL("smtp.qq.com", 465, context=context) as smtp:smtp.login(EMAIL_ADDRESS, EMAIL_PASSWORD)smtp.send_message(msg)if __name__ == '__main__':sms()
这里是以QQ邮箱为例,如果需要使用其他的邮箱发送,同理,只需要修改不同的smtp授权码和服务器地址。