在django中提供了邮件接口

QQ邮箱配置

qq邮箱地扯:https://mail.qq.com

settings文件

# 邮箱配置
EMAIL_USE_SSL = True
EMAIL_HOST = 'smtp.qq.com' # 如果是 163 改成 smtp.163.com
EMAIL_PORT = 465
EMAIL_HOST_USER = 'xxxx@qq.com' # 配置邮箱
EMAIL_HOST_PASSWORD = 'xxxxx' # 对应的授权码
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER

邮箱发送视图

普通信息邮件发送

# 引入相关模块
from django.conf import settings
from django.core.mail import send_mail def send_mail(request):
msg = '测试django发送邮箱'
send_mail(
subject='请注意这是Django邮件测试',
message=msg,
from_email=settings.EMAIL_HOST_USER,
recipient_list=["xxxx@qq.com"] # 把这条邮件信息发送给xxxx@qq.com的邮箱
)
return HttpResponse('测试邮件已发出请注意查收')

路由

path("check_mail", views.check_mail, name='check_mail'),

模板html邮件发送

第一步:创建要发送的模板html

在templates下创建一个文件夹mail,mail文件夹里有一个文件:send_html.html,内容如下:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>发送Html</title>
</head>
<body>
<b>模板Html邮箱发送,接收的参数是:{{ paramters }}</b>
</body>
</html>

第二步:创建一个包utils

utils包里创建mail.py文件,内容如下:

from django.conf import settings
from django.core.mail import send_mail, EmailMessage
from django.template import loader # 发送模板信息邮件
def send_html_mail(subject, html_content, recipient_list):
msg = EmailMessage(subject, html_content, settings.EMAIL_HOST_USER, recipient_list)
msg.content_subtype = "html" # Main content is now text/html
msg.send()

第三步:视图文件

关键内容如下:

# 引入相关模块
from django.core.mail import send_mail
from utils.mail import send_html_mail
from django.template import loader def send_html(request):
subject = "发送html模板邮箱信息"
html_content = loader.render_to_string('mail/send_html.html',{'paramters':'demo'})
recipient_list = ["xxx@qq.com"] # 发给xxx@qq.com的邮箱
send_html_mail(subject,html_content,recipient_list)
return HttpResponse('发送成功:已发送模板信息')

第四步:路由

path("send_html", views.send_html, name='send_html'),

注意地方:

如果发送成功收不到邮件信息的话,请查看邮箱中的垃圾箱,如下图:

==================== 完,最后自己查看 ===============================

django 邮箱发送的更多相关文章

  1. Django实现注册,往邮箱发送验证链接

    由于最近要做个平台,在GitHub上下载了一个系统框架,想着为了安全,实现注册时往一个邮箱发送注册信息,由管理员来确认是否同意其注册. 感谢博主:https://blog.csdn.net/geek_ ...

  2. Linux配置邮箱发送(MUTT/MSMTPQ)

    配置邮箱发送 http://www.ilanni.com/?p=10589

  3. java邮件发送 qq与163邮箱互发和qq和163邮箱发送其他邮箱实例

    研究了近一天的时间,通过查阅相关资料,终于对java发送邮件的机制,原理有了一点点的理解,希望能够帮到大家! 1.首先要向你的项目里导入1个jar包:mail-1.4.4.jar即可(实现qq和163 ...

  4. 通过邮箱发送html报表

    前言 需求是发送邮件时, 可以将报表正文贴到邮件里, 可以正常复制选中报表内容. 目前的做法是简单粗暴的转成了一张图片, 这样效果显然是很糟糕的. 今天看到邮箱里可以预览Word, Excel, F1 ...

  5. spring 实现邮箱发送

    使用spring mail 实现的邮箱发送功能,包括附件的发送(附件发送要保证附件存在的路径是真实),使用maven集成jar包,通过spring mvc 实现前后台的调用,发送方使用的是163邮箱, ...

  6. java邮箱发送

    一.为何要使用邮箱发送 相信大家在日常工作生活中少不了和邮件打交道,比如我们会用邮件进行信息交流,向上级汇报日常工作:邮件发送的原理是什么?邮件是如何发送的呢?本系列教程将会讲解邮件如何申请可用jav ...

  7. JAVA 实现 QQ 邮箱发送验证码功能(不局限于框架)

    JAVA 实现 QQ 邮箱发送验证码功能(不局限于框架) 本来想实现 QQ 登录,有域名一直没用过,还得备案,好麻烦,只能过几天再更新啦. 先把实现的发送邮箱验证码更能更新了. 老规矩,更多内容在注释 ...

  8. qq邮箱发送,mail from address must be same as authorization user

    由于邮箱发送的邮箱账号更换,所以重新测试.结果一直出错,要不就是请求超时,要不就是未授权. 用smtp 开始的时候,端口使用495,结果是请求超时. 后来改成25,结果是未授权. 再后来听人说,有一个 ...

  9. Java邮箱发送——企业版

    企业版邮箱发送工具类 import java.security.Security; import java.util.Properties; import javax.mail.Authenticat ...

随机推荐

  1. mysql delete from left 多表条件删除

    DELETE n from news n LEFT JOIN news2 d ON n.id=d.id WHERE d.id IS null

  2. Mybatis的运行原理

    我们写的sql语句就在statementBuilder中. 整个mapper的信息都保存到configuration 1:根据配置文件创建SQLSessionFactory 先创建SqlSession ...

  3. linux 基础命令总结

    1.mkdir 创建目录 -p 创建多级目录 mkdir -p /data/test -m, --mode=模式 设置权限模式(类似chmod),而不是rwxrwxrwx 减umask -p, --p ...

  4. [CSP-S模拟测试]:z(模拟+map+小根堆)

    题目背景 $\frac{1}{4}$遇到了一道水题,$eooooo$完全不会做,于是去请教小$D$.结果小$D$已经去了阿塞拜疆,于是,$\frac{1}{4}$只好来问你,这道题是这样的: 题目描述 ...

  5. python中的_ElementUnicodeResult是什么

    _ElementUnicodeResult在python中是字符串的一种,因为在python3中,字符串就是指以unicode编码规则存储的数据,而以其他方式如utf-8,ASCII编码方式存储的数据 ...

  6. nRF51822学习笔记 之 blinky_example

    使用的开发板是nRF51822 AK II,爱板网做活动买的. 开发资料可以去这里下载:链接: http://pan.baidu.com/s/1f8pD8 密码: 741y

  7. (66) c# async await

    1.使用 async await 2.返回值 static void Main(string[] args) { Program p = new Program(); Console.WriteLin ...

  8. 2019杭电多校第⑨场B Rikka with Cake (主席树,离散化)

    题意: 给定一块n*m的矩形区域,在区域内有若干点,每个顶点发出一条射线,有上下左右四个方向,问矩形被分成了几个区域? 思路: 稍加观察和枚举可以发现,区域数量=射线交点数+1(可以用欧拉定理验证,但 ...

  9. mysql FROM_UNIXTIME 时间不准确

    mysql 使用 FROM_UNIXTIME 函数计算出来的时间少了6个小时或者8个小时 解决办法: 添加 default-time_zone = '+8:00' 这个再配置文件中 vi /etc/m ...

  10. fiddler 暂停抓包

    或者点击左下角 capturing