在Django中发送“订单已确认”电子邮件给客户可以通过以下步骤实现:
以下是一个示例代码:
from django.core.mail import send_mail
from django.template.loader import render_to_string
from django.utils.html import strip_tags
def send_order_confirmation_email(order):
# 1. 获取收件人邮箱
recipient_email = order.customer_email
# 2. 生成邮件内容
subject = '订单确认'
html_message = render_to_string('email/order_confirmation.html', {'order': order})
plain_message = strip_tags(html_message)
# 3. 发送邮件
send_mail(subject, plain_message, 'sender@example.com', [recipient_email], html_message=html_message)
在上述示例中,send_order_confirmation_email
函数接受一个订单对象作为参数,从订单对象中获取收件人邮箱。然后,使用render_to_string
函数将订单对象传递给电子邮件模板,生成邮件内容的HTML版本。使用strip_tags
函数将HTML内容转换为纯文本,作为邮件的纯文本版本。最后,使用send_mail
函数发送邮件,其中包括邮件主题、发件人邮箱、收件人邮箱等信息。
需要注意的是,上述示例中使用的邮件模板文件是email/order_confirmation.html
,可以根据实际情况创建并定义该模板文件。另外,如果需要在邮件中包含附件或者使用其他高级功能,可以查阅Django的官方文档或第三方库的文档进行扩展。
推荐的腾讯云相关产品:腾讯云邮件推送服务(https://cloud.tencent.com/product/ses)提供稳定可靠的邮件发送服务,可以与Django集成使用。
领取专属 10元无门槛券
手把手带您无忧上云