在Django中发送HTML电子邮件,您需要使用Django的电子邮件模块。以下是一个完整的示例,演示如何使用Django发送HTML电子邮件:
settings.py
文件中,您需要配置电子邮件后端,例如使用Gmail作为后端:EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend"
EMAIL_HOST = "smtp.gmail.com"
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_HOST_USER = "your_email@gmail.com"
EMAIL_HOST_PASSWORD = "your_email_password"
EmailMultiAlternatives
类并创建一个HTML消息。例如:from django.core.mail import EmailMultiAlternatives
from django.template.loader import render_to_string
from django.utils.html import strip_tags
def send_html_email(request):
subject = "This is a test email"
to = ["recipient@example.com"]
from_email = "your_email@gmail.com"
# Render the HTML message
html_message = render_to_string("email_template.html", {"message": "Hello, this is a test email."})
# Strip the tags to create the plain text message
text_message = strip_tags(html_message)
# Create the email message
message = EmailMultiAlternatives(subject, text_message, from_email, to)
# Add the HTML message as an alternative
message.attach_alternative(html_message, "text/html")
# Send the email
message.send()
email_template.html
的HTML模板来渲染电子邮件正文。您需要创建一个名为email_template.html
的模板文件,并将其放在您的应用程序的templates
目录中。例如:<!DOCTYPE html>
<html>
<head>
<title>Test Email</title>
</head>
<body>
<p>{{ message }}</p>
</body>
</html>
urls.py
文件中为发送HTML电子邮件的视图创建一个URL。例如:from django.urls import path
from . import views
urlpatterns = [
path("send-email/", views.send_html_email, name="send_html_email"),
]
现在,当您访问/send-email/
URL时,Django将发送一封HTML电子邮件。请注意,您需要根据您的实际情况修改上述示例中的电子邮件地址和模板文件名。
领取专属 10元无门槛券
手把手带您无忧上云