使用Django发送HTML电子邮件可以通过以下步骤实现:
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.exmail.qq.com'
EMAIL_PORT = 465
EMAIL_HOST_USER = 'your_email@example.com'
EMAIL_HOST_PASSWORD = 'your_email_password'
EMAIL_USE_SSL = True
DEFAULT_FROM_EMAIL = 'your_email@example.com'
from django.core.mail import send_mail
,然后使用send_mail
函数发送电子邮件。例如:from django.core.mail import send_mail
def send_html_email(request):
subject = 'HTML邮件示例'
message = '这是一封HTML邮件示例'
html_message = '<h1>欢迎使用Django发送HTML邮件</h1>'
recipient_list = ['recipient@example.com']
send_mail(subject, message, 'your_email@example.com', recipient_list, html_message=html_message)
在上述示例中,html_message
参数用于指定HTML格式的邮件内容。
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
email_template.html
,并在其中编写HTML内容。可以使用Django模板语言添加动态内容。例如:<h1>欢迎使用Django发送HTML邮件</h1>
<p>这是一封来自{{ sender }}的HTML邮件示例。</p>
html_message
参数传递给send_mail
函数。例如:from django.core.mail import send_mail
from django.template.loader import render_to_string
def send_dynamic_html_email(request):
subject = '动态HTML邮件示例'
sender = 'your_email@example.com'
recipient_list = ['recipient@example.com']
html_message = render_to_string('email_template.html', {'sender': sender})
send_mail(subject, '', sender, recipient_list, html_message=html_message)
在上述示例中,render_to_string
函数用于加载并渲染HTML模板,{'sender': sender}
是传递给模板的上下文变量。
通过以上步骤,就可以使用Django发送包含HTML内容的电子邮件了。在实际应用中,可以根据具体需求进一步优化邮件发送的逻辑和样式。腾讯云提供的相关产品和产品介绍链接如下:
腾讯云GAME-TECH游戏开发者技术沙龙
腾讯云GAME-TECH游戏开发者技术沙龙
云+社区技术沙龙[第5期]
腾讯云GAME-TECH游戏开发者技术沙龙
云+社区技术沙龙[第28期]
腾讯云GAME-TECH游戏开发者技术沙龙
云+社区技术沙龙[第27期]
云原生正发声
腾讯云GAME-TECH游戏开发者技术沙龙
云+社区技术沙龙[第7期]
领取专属 10元无门槛券
手把手带您无忧上云