Django学习笔记(二十三):Celery异步操作发送邮件

异步操作发送邮件

在settings.py里添加邮箱配置

from os import environ
# 邮件配置
EMAIL_USE_SSL = True

EMAIL_HOST = 'smtp.qq.com'  # 如果是 163 改成 smtp.163.com

EMAIL_PORT = 465

EMAIL_HOST_USER = environ.get("EMAIL_SENDER")  # 帐号

EMAIL_HOST_PASSWORD = environ.get("EMAIL_PWD")  # 授权码(****)

DEFAULT_FROM_EMAIL = EMAIL_HOST_USER

在tasks.py中添加异步操作代码

from celery import task
from django.core.mail import send_mail
from django.conf import settings

@task
def send_email(email):
    title = "邮件的标题"
    msg = "这个是异步"
    from_email = settings.DEFAULT_FROM_EMAIL
    recievers = [email,]
    send_mail(title,msg,from_email,recievers,fail_silently=True)

在views.py中添加异步调用代码

from .tasks import send_email
def first_celery(req):
    #任务函数的异步调用
    send_email.delay("[email protected]")
    return HttpResponse("OK")

 

实现效果

猜你喜欢

转载自blog.csdn.net/xiaohuoche175/article/details/81480576