你们好,我是来ZB的!

这篇博客是用来发送邮件的,用的是Django框架,很好用。遗憾的是我当时用的阿里云,把腾讯QQ的端口给……给屏蔽了,啊啊啊啊,多么痛的领悟呀。后来用的163网易的邮箱。可以了!下面开始了哟

点我也没用,不信你点点!

一、干干干——发邮件

来瞅瞅咋整

首先,对吧,然后,对吧,最后,不就可以了…………
首先把项目搭载好,然后在setting.py里面填写如下代码

settings.py

 # 邮件配置
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
# EMAIL_USE_TLS = False # 是否使用TLS安全传输协议(用于在两个通信应用程序之间提供保密性和数据完整性。)
EMAIL_USE_SSL = True # 是否使用SSL加密,qq企业邮箱要求使用
EMAIL_HOST = 'smtp.163.com' # 发送邮件的邮箱 的 SMTP服务器,这里用了qq邮箱
EMAIL_PORT = 994 # 发件箱的SMTP服务器端口
EMAIL_HOST_USER = 'abraverman@163.com' # 发送邮件的邮箱地址
EMAIL_HOST_PASSWORD = '授权码,舔自己的,具体方法,百度一哈野蛮简单的' # 发送邮件的邮箱密码(这里使用的是授权码)
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER

注意:在用的时候看情况,163的协议是SSL的,所以打开SSL的协议关闭TLS的协议,如果记得没错的话,QQ应该是TLS的协议。


然后:注意了在views.py里面设计发送代码

view.pys

 def email(request):
email = request.GET.get("email")
ret = {"state": 1000}
code = str(uuid.uuid4())
ret["msg"] = code
AuthCode.objects.create(code=code)
email_title = "欢迎您注册本软件"
email_body = "您本次注册的验证码是:{}".format(code)
# 发送邮件
send_mail(
email_title, # 发送的标题
email_body, # 发送的内容
'abraverman@163.com', # 谁发送
[email], # 发给谁
fail_silently=False # 必须写
)
return HttpResponse(code)

好啦,大功告成,完美!

溜了溜了!

二、更新,更新——发短信

首先啦,信息发展时代很少人会再用邮箱来通知消息,当下啦,短信通知是最有效也最经济的,所以啦这篇文章就出生了。

话不多说,开干!首先我们得找一个发短信的平台,毕竟这样批量短信的事用私人的手机号,感觉有点作死。所以了我就去找到了腾讯的平台。点这里进入腾讯云平台点这里进入腾讯云官方文档、其实腾讯云的文档已经写得很清楚了,可我任然要谢谢我自己的见解。登录之后就进入了这个界面,一开始是没有应用的,我们点击添加应用

填写信息之后就获得了下面的表单,记录相应的数据

就这样还不够,我们还得创建短信模板,点击这里,创建签名,记住这里的内容

当然,这也是还不够的,我们还需要短信模板,模板根据要求来就可以。{1}{2}这个表示你会从后端传输列表类型的数据,然后列表的第一个放在括号里面的第一个,依次类推。记住这里的ID,

好啦,现在万事大吉了,现在去后端,在视图里面封装发短信的函数:

 # 封装发送短信的函数
def Send(phone_numbers,params):
"""
发送短信的函数,调用函数即可
:param phone_numbers: 发送给谁的电话号码
:param params: 传递一个列表,列表第一项是“name”, 第二项是“人数”
:return:
"""
# 短信应用 SDK AppID
appid = xxxxxxxx # SDK AppID 以1400开头 # 短信应用 SDK AppKey
appkey = "jiubugeinikanjiubugeinikanjiubugeinikan" # 需要发送短信的手机号码列表
phone_numbers = [phone_numbers] # 短信模板ID,需要在短信控制台中申请
template_id = 111111 # NOTE: 这里的模板 ID`111111`只是示例,真实的模板 ID 需要在短信控制台中申请 # 签名
sms_sign = "一定要是内容" # NOTE: 签名参数使用的是`签名内容`,而不是`签名ID`。 from qcloudsms_py import SmsSingleSender
from qcloudsms_py.httpclient import HTTPError ssender = SmsSingleSender(appid, appkey)
# params = ["姜畅", "【杜鹏】"] # 当模板没有参数时,`params = []`
try:
result = ssender.send_with_param(86, phone_numbers[0], template_id, params, sign=sms_sign, extend="",
ext="") # 签名参数未提供或者为空时,会使用默认签名发送短信
print(result)
except HTTPError as e:
print(e)
except Exception as e:
print(e)

OK,在需要发短信的时候调用这个函数就可以了,一定要注意传递的参数,都是列表类型,且参数的位置和你建立的模板对应。

以上,便是email和手机短信自动发送的教程了。

人生苦短,我学Python!

用那啥 那啥来着Django来发送Email,结合腾讯云,批量发短信给用户!的更多相关文章

  1. Python web项目Django部署在Ubuntu18.04腾讯云主机上

    Django2.1 + Python3.6 + nginx + uwsgi 部署到Ubuntu18.04 材料准备 准备一个Django项目 准备一台Ubuntu18.04的主机 ssh连接到主机(腾 ...

  2. 腾讯云快速完成python3.6开发环境搭建与django应用部署

    [本文出自天外归云的博客园] 部署python3.6.5 腾讯云服务器安装python3竟然要3个多小时!而且一度速度为0…… 于是网查据说是腾讯云服务器连python官网缓慢导致的,所以想找个国内的 ...

  3. Django线上部署教程:腾讯云+Ubuntu+Django+Uwsgi(转载)

    网站名称: 向东的笔记本 本文链接: https://www.eastnotes.com/post/29 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议.转载请注明出处! ...

  4. 腾讯云centos6.5下部署django环境

    基于腾讯云CentOS6.5的环境 首先说下需要用到的软件 1.gcc环境 腾讯云默认是没有gcc编译器的,需要手动安装一下:yum install gcc 2.python环境 因为我用的cento ...

  5. 潭州课堂25班:Ph201805201 django 项目 第十一课 手机号是否存在,短信验证分析 (课堂笔记)

    判断手机号是否注册功能实现 1.分析 请求方法:GET url定义:/mobiles/(?P<mobile>1[3-9]\d{9})/ 请求参数:url路径参数 参数 类型 前端是否必须传 ...

  6. 潭州课堂25班:Ph201805201 django 项目 第十课 自定义错误码,完成图片验证码,用户是否被注册功能 (课堂笔记)

    把 视图传到前台的  JsonResponse(data=data) 先进行处理,之后再传到前台, 处理:引用自定义错误代码,把错误代码返回给前台,前台根据错误代码中文提示 class Code: O ...

  7. Django商城项目笔记No.6用户部分-注册接口-短信验证码实现celery异步

    Django商城项目笔记No.4用户部分-注册接口-短信验证码实现celery异步 接上一篇,如何解决前后端请求跨域问题? 首先想一下,为什么图片验证码请求的也是后端的api.meiduo.site: ...

  8. Django商城项目笔记No.5用户部分-注册接口-短信验证码

    Django商城项目笔记No.4用户部分-注册接口-短信验证码 短信验证码也保存在redis里(sms_code_15101234567) 在views中新增SMSCodeView类视图,并且写出步骤 ...

  9. 腾讯云服务器部署 django项目整个流程

    CentOS7下部署Django项目详细操作步骤 前记:购买腾讯云服务器,配置自选,当然新用户免费体验半个月,我选择的系统是centos7系统版本, 接下来我们来看整个配置项目流程. 部署是基于:ce ...

随机推荐

  1. 从Eclipse到Android Studio:Android项目怎样进行迁移

    一開始我们学习Android开发.基本上都是从Eclipse上開始的,随着Google推出Android Studio,这一情况慢慢有了改变.未来非常长一段时间将会呈现Eclipse和AS相互存在的情 ...

  2. linux sh 脚本调用外部命令

    参考:http://blog.csdn.net/lhb_blog/article/details/22083649 ------------------------------------------ ...

  3. 2018你应该了解这些.NET面试题

    2018年准备要找.NET开发相关工作的你准备好了吗,下面是小编准备的一些.NET相关的面试题,来阅读一下,也许对你有帮助哦~ 1. 谈谈你对MVC和三层架构的理解. MVC即模型.视图.控制器,模型 ...

  4. hdu 3810 Magina 队列模拟0-1背包

    题意: 出一些独立的陆地,每片陆地上有非常多怪物.杀掉每一个怪物都须要一定的时间,并能获得一定的金钱.给出指定的金钱m, 求最少要多少时间能够得到m金钱,仅能选择一个陆地进行杀怪. 题解: 这题,假设 ...

  5. iOS7系统iLEX RAT冬青鼠安装教程:无需刷机还原纯净越狱系统

    全网科技 温馨提醒:iLEX RAT和Semi-Restore的作用都是让你的已越狱的设备恢复至越狱的初始状态. 可是要注意无论你是用iLexRAT冬青鼠还是Semi-restore.对于还原来说都存 ...

  6. Uboot中支持lcd和hdmi显示不同的logo图片【转】

    本文转载自:http://blog.csdn.net/u010865783/article/details/54953315 在lcd为竖屏,hdmi显示横屏的情况下,如果按照默认的uboot显示框架 ...

  7. Django day08 多表操作 (二) 添加表记录

    一: 一对多 1. 一对多新增 两种方式:  publish = 对象    publish_id = id 1. publish_id 和 publish 的区别就是: 1)publish_id 可 ...

  8. CRMEB系统就是集客户关系管理+营销电商系统,能够真正帮助企业基于微信公众号、小程序实现会员管理、数据分析,精准营销的电子商务管理系统。可满足企业新零售、批发、分销、等各种业务需求。

    **可以快速二次开发的开源小程序商城系统源码**源码开源地址:https://github.crmeb.net/u/LXT 项目介绍: CRMEB系统就是集客户关系管理+营销电商系统,能够真正帮助企业 ...

  9. 前端布局神器 display:flex

    前端布局神器display:flex 一直使用flex布局,屡试不爽,但是总是记不住一些属性,这里写来记录一下.   2009年,W3C提出了一种新的方案--Flex布局,可以简便.完整.响应式地实现 ...

  10. D - Garden

    Problem description Luba thinks about watering her garden. The garden can be represented as a segmen ...