send_mail
是 Django 框架中的一个内置函数,用于发送电子邮件。它主要用于 Django 的命令行终端(即 Django shell 或管理后台),而不是直接在前端或视图函数中使用。这是因为 send_mail
需要配置 Django 的邮件设置,并且通常在服务器端执行以确保邮件发送的安全性和可靠性。
send_mail
是一个函数,而不是一个类或模块。它属于 Django 的 django.core.mail
包。
send_mail
仅适用于 Django 的终端?send_mail
是在 Django 的命令行环境中设计的,用于在开发或管理过程中发送测试邮件。它不是为前端或实时应用设计的,因为这可能涉及安全风险和性能问题。pip install celery
settings.py
中):# 配置 Celery
CELERY_BROKER_URL = 'redis://localhost:6379/0'
CELERY_RESULT_BACKEND = 'redis://localhost:6379/0'
celery.py
文件):from celery import Celery
app = Celery('your_project_name')
app.config_from_object('django.conf:settings', namespace='CELERY')
app.autodiscover_tasks()
tasks.py
文件中):from django.core.mail import send_mail
from celery import shared_task
@shared_task
def send_email_task(subject, message, from_email, recipient_list):
send_mail(subject, message, from_email, recipient_list)
from django.http import HttpResponse
from .tasks import send_email_task
def my_view(request):
# 调用 Celery 任务发送邮件
send_email_task.delay('Subject', 'Message', 'from@example.com', ['to@example.com'])
return HttpResponse('Email sent!')
请注意,以上代码和配置仅供参考,实际使用时可能需要根据你的项目需求进行调整。
领取专属 10元无门槛券
手把手带您无忧上云