异步操作发送邮件
在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("1111111118@qq.com")
return HttpResponse("OK")
实现效果