使用线程实现异步的邮件发送,以及简单普通的邮件发送。

这篇博客介绍了如何使用Python进行异步和普通邮件发送。通过简单的Flask框架实现异步发送邮件,只需访问特定URL即可触发。同时,也展示了普通邮件发送的方法。对于异步发送,可以创建一个HTML模板作为邮件内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

代码比较简单,也没有什么特别复杂的逻辑,就直接上代码吧。如果缺少相关的库,就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):
    # 邮件发送必须在程序上下文
    # 新的线程中没有上下文,因此需要手动创建
    with app.app_context():
        mail.send(msg)


# 封装函数发送邮件
def send_mail(subject, to, template, *args, **kwargs):
    if isinstance(to, list):
        recipien
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值