Django(十五):异步通信(使用python进行邮箱发送,使用手机短信发送)

文章目录

  • 一、python邮件发送
    • 1.为什么使用邮件
    • 2.python邮件内置模块
    • 3.使用邮箱前的准备(163邮箱)
    • 4.代码demo
  • 二、 python短信发送
    • 1.原理
    • 2.使用前准备
    • 3.测试demo

一、python邮件发送

1.为什么使用邮件

  1. 邮件和短信发送: 通知的作用,验证的作用。
  2. 验证: 比如用户密码相关,资金相关,都是对身份的验证。
  3. 会使用邮箱或者短信或者钉钉做一个登录验证(获取验证码,添加验证码,登录)
  4. 获取验证码: 页面增加按钮,ajax请求,视图可以使用get请求
  5. 提交验证码:随着form表单提交,登录接口视图,接收验证码 进行验证

2.python邮件内置模块

python发送邮件方便,python中有内置模块:

  • smtplib
    • smtp协议,python发送邮件默认基于轻量级的邮件协议,smtp是一个通过发送地址和目的地址进行邮件发送的邮件协议。
  • email
    • 整合邮件内容,及邮件内容的格式

3.使用邮箱前的准备(163邮箱)

开启163服务

  • imap 发送邮件
  • pop3 接收邮件
    Django(十五):异步通信(使用python进行邮箱发送,使用手机短信发送)_第1张图片

Django(十五):异步通信(使用python进行邮箱发送,使用手机短信发送)_第2张图片

Django(十五):异步通信(使用python进行邮箱发送,使用手机短信发送)_第3张图片
Django(十五):异步通信(使用python进行邮箱发送,使用手机短信发送)_第4张图片

4.代码demo

import smtplib
from email.mime.text import MIMEText

## 构建邮件
## 邮件主题
subject = "邮箱测试主题"
# 发送内容
content = "Good Good study,day day up"
# 发送人
sender = "发送方@163.com"
# 接收人  单个  多个收件人
rec = """
接收方[email protected],
接收方[email protected]
"""

password = "授权码"
###  MIMEText 参数 发送内容, 内容类型 , 编码
message = MIMEText(content, "plain", "utf-8")
message["Subject"] = subject
message["From"] = sender  ## 发件人
message["To"] = rec  ## 收件人

### 发送邮件
smtp = smtplib.SMTP_SSL("smtp.163.com", 465)
smtp.login(sender, password)
## 参数说明    发件人    收件人需要一个列表     发送邮件 类似一种json的格式
smtp.sendmail(sender, rec.split(",\n"), message.as_string())

smtp.close()

效果:
Django(十五):异步通信(使用python进行邮箱发送,使用手机短信发送)_第5张图片
Django(十五):异步通信(使用python进行邮箱发送,使用手机短信发送)_第6张图片


二、 python短信发送

1.原理

Django(十五):异步通信(使用python进行邮箱发送,使用手机短信发送)_第7张图片

2.使用前准备

常用的短信平台:阿里短信,云通讯

示例: http://www.ihuyi.com/

1、注册配置

Django(十五):异步通信(使用python进行邮箱发送,使用手机短信发送)_第8张图片Django(十五):异步通信(使用python进行邮箱发送,使用手机短信发送)_第9张图片
Django(十五):异步通信(使用python进行邮箱发送,使用手机短信发送)_第10张图片
Django(十五):异步通信(使用python进行邮箱发送,使用手机短信发送)_第11张图片
2.文档下载
Django(十五):异步通信(使用python进行邮箱发送,使用手机短信发送)_第12张图片
3.pycharm安装库

pip install requests

3.测试demo

import requests      ###   http 库  pip install requests

## 请求地址
url = "http://106.ihuyi.com/webservice/sms.php?method=Submit"

#APIID
account = "C53007282"
#APIkey
password = "62aa30a7402d2ffa127b33e7e94e7a0f"

## 收件人手机号
mobile = "15638538520"
## 短信内容
content = "您的验证码是:1111。请不要把验证码泄露给其他人。"
## 请求头
headers = {
    "Content-type": "application/x-www-form-urlencoded",
    "Accept": "text/plain"
}
## 构建发送参数
data = {
    "account": account,
    "password": password,
    "mobile": mobile,
    "content": content,
}
## 发送
response = requests.post(url,headers = headers,data=data)
    #url    请求地址
    #headers  请求头
    #data 请求数据  内容

print(response.content.decode())

你可能感兴趣的:(#,Django框架知识)