Django发送邮件方法
在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发送邮件方法的更多相关文章
- Django发送邮件和itsdangerous模块的配合使用
项目需求:用户注册页面注册之后,系统会发送一封邮件到用户邮箱,用户点击链接以激活账户,其中链接中的用户信息需要加密处理一下 其中激活自己邮箱的smtp服务的操作就不在加以说明,菜鸟教程上有非常清晰的讲 ...
- Django 发送邮件
问题: 对于一些错误信息或用户注册账号的时候,需要给用户发送邮件进行验证. 以用户注册发邮件为例子,用户向后端提起注册,后端收到用户邮箱,对邮箱格式进行验证,然后发送邮件,邮件内容中包括邮件标题.邮件 ...
- Django——发送邮件
Django--发送邮件 在web应用中,服务器对客户发送邮件来通知用户一些信息,可以使用邮件来实现. Django中提供了邮件接口,使我们可以快捷的建设一个邮件发送系统. 以下是一个简单实例: se ...
- $Django 发送邮件--django封装模块和python内置SMTP模块
一 使用SMTP模块发送邮件 import smtplib from email.mime.text import MIMEText from email.header import Header m ...
- 2个版本并存的python使用新的版本安装django的方法
2个版本并存的python使用新的版本安装django的方法 默认是使用 pip install django 最新版的django会提示 要求python版本3.4以上,系统默认的版本是2.7.5 ...
- django发送邮件的坑
django发送邮件的坑 配置django发邮件的时候本地发送时好好的,但是放到阿里云的服务器上却不能发送. 经过一系列的排查后终于发现是阿里云把25端口给封了. 后来改用smtps的方式发送,更改d ...
- tornado自定义实现django include方法
tornado自定义实现django include方法 自定义URLmethod模块 from Custom.errors import * def include(base_url, expan ...
- django发送邮件send_mail&send_mass_mail
一.配置 在setting.py中进行相关配置: EMAIL_HOST = 'smtp.sina.cn' #SMTP地址 EMAIL_PORT = 25 #SMTP端口 EMAIL_HOST_USER ...
- Django发送邮件
1. 配置相关参数 如果用的是 阿里云的企业邮箱,则类似于下面: 在 settings.py 的最后面加上这些 EMAIL_BACKEND='django.core.mail.backends.smt ...
随机推荐
- 三角形数且是完全平方数 2017 ACM-ICPC 亚洲区(乌鲁木齐赛区)网络赛 E.Half-consecutive Numbers
三角形数:an=n*(n+1)/2; 完全平方数:bn=c^2; 既是三角形数又是完全平方数:An=6*A(n-1)-A(n-2)+2; A[23]={ 0, 1, 8, 49, 288, 1681, ...
- iOS开发 分享到QQ空间提示"分享失败 应用不存在"
本人遇到该问题的原因是配置SDK初始化时的APPID错误,可以参考下shareSDK的集成文档中的一段话: 可选:支持QQ所需的相关配置及代码 登录QQ互联(http://connect.qq.com ...
- python 字典推导式
- MyEclipse2016项目内复制一个项目,如何更改项目的访问路径
在MyEclipse2010版本如果复制了一个项目,需要改项目的访问路径的话,可以选中项目右键,点开Properties,在顶部搜索web,就会出现如下内容,这是只需要在里面更改路径就可以了. 而在2 ...
- oracle函数 nls_charset_id(c1)
[功能]返回字符集名称参应id值 [参数]c1,字符型 [返回]数值型 sql> select nls_charset_id('zhs16gbk') from dual; nls_charset ...
- C++构造函数和文件组织
构造你的函数 在 main() 上方声明函数,并在 main 下方定义函数 在 main() 上方同时声明并定义函数. 随着 C++ 程序变得越来越复杂,你可能需要将代码分成多个文件.分开保存函数定义 ...
- iPhone:constrainedToSize获取字符串的宽高
在使用UILabel存放字符串时,经常需要获取label的长宽数据,本文列出了部分常用的计算方法. 1.获取宽度,获取字符串不折行单行显示时所需要的长度 CGSize titleSize = [aSt ...
- VSCode配置启动Vue项目
下载安装并配置VSCode 随便百度上搜个最新的VSCode安装好后,点击Ctrl + Shit + X打开插件扩展窗口进行插件扩展,这里要安装两个插件. 1.vetur插件的安装 该插件是vue文件 ...
- iptables 网址转译 (Network Address Translation,NAT)
当封包流经NAT電腦時,其位址/通訊端口會被修改,以達到改变包目的地(或旅程),或是让目的地误以为包是源自NAT电脑的效果.換言之,对封包执行NAT的电脑,可以成为新包的来源或目的地,或是成为真正来源 ...
- Spark-shell批量命令执行脚本
#!/bin/bash source /etc/profile exec $SPARK_HOME/bin/spark-shell --queue tv --name spark-sql-test -- ...