代码比较简单,也没有什么特别复杂的逻辑,就直接上代码吧。如果缺少相关的库,就pip安装一下。
异步发送(简单的使用了Flask框架,代码跑起来,在浏览器中,输入127.0.0.1:5000/send/ 就实现了异步发送邮件IP/端口/路由===》执行对应的视图函数,执行,并返回)template的话自己随便定义一个就好。在同级目录下,创建template目录,里边创建一个html文件,就可以作为你发送的邮件的模板了。:
from flask import Flask, render_template, current_app from flask_script import Manager from flask_mail import Mail, Message import os from threading import Thread app = Flask(__name__) manager = Manager(app) # 邮件发送配置,一定要放在创建Mail对象之前 app.config['MAIL_SERVER'] = 'smtp.163.com' # 用户名 app.config['MAIL_USERNAME'] = '自己的163邮箱' # 密码 app.config['MAIL_PASSWORD'] = '这个密码并非163登录密码,而是开启163服务的密码’ # 创建发送邮件的对象 mail = Mail(app) # 异步发送邮件任务 def async_send_mail(app, msg): # 邮件发送必须在程序上下文 # 新的线程中没有上下文,因此需要手动创建