Django邮件和短信发送脚本测试

Python 邮件发送:

Python发送邮件是有内置邮件发送模块,采用smtp(由描述源地址到目的地址的轻量级邮件协议)协议进行邮件发送,smtp协议在开发过程当中被分为2种:
1、smtp/imap 用来发送邮件
2、Smtp/pop3 用来接收邮件
常见的 163、qq、网易、新浪、等邮箱都有提供的smpt服务器。

开启163或腾讯邮箱发送邮件服务,生成授权码
在这里插入图片描述
163邮箱服务器地址和端口:
在这里插入图片描述
腾讯邮箱服务器地址和端口:
在这里插入图片描述

先编写一个测试脚本,使用python内置模块

"""
此脚本只作为邮件发送测试
"""
import smtplib  # 登陆邮件服务器,进行邮件发送
from email.mime.text import MIMEText  # 负责构建邮件格式

# 邮件主题
subject = "哗啦啦"
# 邮件内容
content = "哈哈,猜猜我是谁"
# 发送人
sender = "137****2@163.com"
# 接收人(一串)
recver = """bow@foxmail.com,
9***7@qq.com,
2***559@qq.com
1***959@qq.com
7***9368@qq.com"""

# 授权码
password = ""

# 构造MIMEText对象(邮件),第一个参数就是邮件正文,第二个参数是MIME的subtype,传入'plain',最终的MIME就是'text/plain',最后一定要用utf-8编码保证多语言兼容性
message = MIMEText(content,"plain","utf-8")
message["Subject"] = subject
message["To"] = recver
message["From"] = sender

# 创建SMTP客户端对象,连接smtp服务器
smtp = smtplib.SMTP_SSL("smtp.163.com",994)
# 登录
smtp.login(sender,password)
# 发送邮件,第一个参数是发送人,第二个是接收人,必须是列表,第三个参数是邮件信息,将msg(MIMEText对象或者MIMEMultipart对象)变为str
smtp.sendmail(sender,recver.split(",\n"),message.as_string())
# 关闭客户端连接
smtp.close()

在这里插入图片描述

Django一如既往的对发送邮件也进行了封装,所以对setting进行配置,添加Django邮件发送服务

# 配置邮件服务器
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' # 发送邮件采用smtp服务

EMAIL_USE_TLS = False  #是否使用tls加密方式

EMAIL_HOST = 'smtp.qq.com' # 腾讯邮箱服务器地址
EMAIL_PORT = 25 # smtp端口
EMAIL_HOST_USER = '9**077@qq.com' # 发送人
EMAIL_HOST_PASSWORD = 'euaqg*****cfi' # 授权码
DEFAULT_FROM_EMAIL = '9**077@qq.com' # 默认发送人

邮件视图函数

from django.core.mail import send_mail
from django.conf import settings
def sendMail(request):
    msg = '服务器运行良好'
    send_mail(
        subject='Django邮件测试', # 邮件主题
        message=msg, # 邮件内容
        from_email=settings.EMAIL_HOST_USER, # 发件人
        recipient_list=["13***2@163.com"],  # 收件人,注意是一个列表,可以群发
        fail_silently=False  # 为True忽略邮件发送时报错的异常
    )
    return HttpResponse('测试邮件已发出请注意查收')

测试:
在这里插入图片描述
在这里插入图片描述

发送短信(接口请求形式)

短信发送都需要借助短信发送平台,使用平台发送短信,通常是收费。
今天要使用的平台是互亿平台。
http://www.ihuyi.com/
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

编写短信测试代码:

#coding:utf-8
import requests

url = "http://106.ihuyi.com/webservice/sms.php?method=Submit"

account = "C57900965"
password = "9c93afbf*********2f5786a9"
mobile = "13*****82"
content = "您的验证码是:201918。请不要把验证码泄露给其他人。"
#定义请求的头部
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())

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孜孜孜孜不倦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值