在Django中将渲染后的模板进行邮件发送,可以使用send_email方法

首先在settings.py中添加如下配置

# 邮件配置SSL加密方式
EMAIL_HOST = 'smtp.qq.com'
EMAIL_PORT = 465 # 使用SSL加密方式端口为465
EMAIL_HOST_USER = 'username@qq.com'
EMAIL_HOST_PASSWORD = 'pwd'
EMAIL_USE_SSL = True # 使用SSL加密方式
EMAIL_FROM = 'username@qq.com'
# 邮件配置TTL加密方式
EMAIL_HOST = 'smtp.qq.com'
EMAIL_PORT = 587 # 使用TTL加密方式端口为587
EMAIL_HOST_USER = 'username@qq.com'
EMAIL_HOST_PASSWORD = 'pwd'
EMAIL_USE_TTL = True # 使用TTL加密方式
EMAIL_FROM = 'username@qq.com'

配置完成后,验证能够成功发送邮件

打开terminal,输入 python manage.py shell 打开shell,输入如下代码,如果返回值为1,则配置无误

from django.core.mail import send_mail
send_mail("Hello", "Hello World", "from_user@qq.com", ['to_user@qq.com'], fail_silently=False)

在views中编辑如下代码

from django.core.mail import EmailMessage
from django.template import loader
from settings import EMAIL_HOST_USER
import os def send_html_mail(cls, subject, html_content, recipient_list):
"""
发送邮件
:param html_content:
:param recipient_list:
:return:
"""
msg = EmailMessage(subject, html_content, EMAIL_HOST_USER, recipient_list)
msg.content_subtype = "html" # Main content is now text/html
msg.send() TEMPLATE_PATH = os.path.join(PROJECT_PATH, 'templates', 'report.html')
parameters = {'report_title':"this is a test report"}
subject = u'邮件主题'
html_content = loader.render_to_string(
TEMPLATE_PATH,
{
'parameters': parameters
}
)
send_html_mail(subject, html_content, ['to_user@qq.com'])

Django发送邮件方法的更多相关文章

  1. Django发送邮件和itsdangerous模块的配合使用

    项目需求:用户注册页面注册之后,系统会发送一封邮件到用户邮箱,用户点击链接以激活账户,其中链接中的用户信息需要加密处理一下 其中激活自己邮箱的smtp服务的操作就不在加以说明,菜鸟教程上有非常清晰的讲 ...

  2. Django 发送邮件

    问题: 对于一些错误信息或用户注册账号的时候,需要给用户发送邮件进行验证. 以用户注册发邮件为例子,用户向后端提起注册,后端收到用户邮箱,对邮箱格式进行验证,然后发送邮件,邮件内容中包括邮件标题.邮件 ...

  3. Django——发送邮件

    Django--发送邮件 在web应用中,服务器对客户发送邮件来通知用户一些信息,可以使用邮件来实现. Django中提供了邮件接口,使我们可以快捷的建设一个邮件发送系统. 以下是一个简单实例: se ...

  4. $Django 发送邮件--django封装模块和python内置SMTP模块

    一 使用SMTP模块发送邮件 import smtplib from email.mime.text import MIMEText from email.header import Header m ...

  5. 2个版本并存的python使用新的版本安装django的方法

    2个版本并存的python使用新的版本安装django的方法 默认是使用 pip install django 最新版的django会提示  要求python版本3.4以上,系统默认的版本是2.7.5 ...

  6. django发送邮件的坑

    django发送邮件的坑 配置django发邮件的时候本地发送时好好的,但是放到阿里云的服务器上却不能发送. 经过一系列的排查后终于发现是阿里云把25端口给封了. 后来改用smtps的方式发送,更改d ...

  7. tornado自定义实现django include方法

    tornado自定义实现django  include方法 自定义URLmethod模块 from Custom.errors import * def include(base_url, expan ...

  8. django发送邮件send_mail&send_mass_mail

    一.配置 在setting.py中进行相关配置: EMAIL_HOST = 'smtp.sina.cn' #SMTP地址 EMAIL_PORT = 25 #SMTP端口 EMAIL_HOST_USER ...

  9. Django发送邮件

    1. 配置相关参数 如果用的是 阿里云的企业邮箱,则类似于下面: 在 settings.py 的最后面加上这些 EMAIL_BACKEND='django.core.mail.backends.smt ...

随机推荐

  1. *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '[<_UIFeedbackParameters 0x1d4442e50> setNilValueForKey]: could not set nil as the value for the key rate.'

    *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '[<_UIFeedbac ...

  2. python MySQLdb用法,python中cursor操作数据库(转)

    数据库连接 连接数据库前,请先确认以下事项: 您已经创建了数据库 TESTDB. 在TESTDB数据库中您已经创建了表 EMPLOYEE EMPLOYEE表字段为 FIRST_NAME, LAST_N ...

  3. Mysql 数据库优化(一)

    一 避免网页访问错误 1  数据库连接timeout产生页面5xx错误 2 慢查询造成页面无法加载 3 阻塞造成数据无法提交 二 增加数据库的稳定性 三 优化用户体验 1 流畅的页面访问速度 2 良好 ...

  4. python selenium处理iframe和弹框(一)

    处理iframe和弹框 # encoding:utf-8 from selenium import webdriver import time driver = webdriver.Firefox() ...

  5. hdu 1050 Moving Tables (Greedy)

    Problem - 1050 过两天要给12的讲贪心,于是就做一下水贪心练习练习. 代码如下: #include <cstdio> #include <iostream> #i ...

  6. JSX语法及特点介绍

    1.1 基本语法 1)自定义组件名首字母大写:元素名即组件名,首字母需要大写.首字母小写时React会以为这是HTML的标准标签,因此自定义的组件名需要首字母大写,否则会报错. 2)嵌套:在rende ...

  7. em&rem

    PX特点 1. IE无法调整那些使用px作为单位的字体大小: 2. 国外的大部分网站能够调整的原因在于其使用了em或rem作为字体单位: 3. Firefox能够调整px和em,rem px像素(Pi ...

  8. px em rem %作为单位使用

    博客地址 :https://www.cnblogs.com/sandraryan/ px 我们都很熟悉啦,但是固定大小无法适配各种屏幕. rem是CSS3新增的一个相对单位(root em,根em), ...

  9. 【已解决】phpMyAdmin中导入mysql数据库文件时出错:您可能正在上传很大的文件,请参考文档来寻找解决办法

    期间,用phpMyAdmin去导入90M左右的mysql数据库文件时出错: 您可能正在上传很大的文件,请参考文档来寻找解决方法. [解决过程] 1.很明显,是文件太大,无法导入.即上传文件大小有限制. ...

  10. Java RandomAccessFile用法(转载)

    RandomAccessFile RandomAccessFile是用来访问那些保存数据记录的文件的,你就可以用seek( )方法来访问记录,并进行读写了.这些记录的大小不必相同:但是其大小和位置必须 ...