from qcloudsms_py import SmsSingleSender from qcloudsms_py.httpclient import HTTPError from qcloudsms_py import SmsMultiSender import os import sys BASE_DIR = os.path.dirname(os.path.abspath(__file__)) # 定位到你的django根目录 sys.path.append(os.path.abspath(os.path.join(BASE_DIR, os.pardir))) # 引入django配置文件 os.environ.setdefault("DJANGO_SETTINGS_MODULE", "yfwlw_pro.settings") # 你的django的settings文件 import django # os.environ.setdefault("DJANGO_SETTINGS_MODULE", # "yfwlw_pro.settings") # project_name 项目名称 django.setup() import json import time import requests import datetime from apps.ReportManage.all_dict import mobile_list, insect_dict_new, qxz_dict from apps.AppInfoManage.models import Equip, Equip_type, CBDphoto, Msg_Send, Msg_Conf, Equip_SimInfo, SCDstatus, CBDstatus, RecentCBDdata, MyUser,JKphoto, BZYdata, QXZstatus,QXZdata,\ QXZstatus_New, QXZ_Conf, QXZ_Default_Conf, MyUser, JKphoto, BZYphoto, QXZdata_New, Group, QXZ_Alarm, QXZ_Alarm_Log from apps.SimInfo.views import get_siminfo import paho.mqtt.client as mqtt # 短信应用 SDK AppID appid = 1400227496 # SDK AppID 以1400开头 # 短信应用 SDK AppKey appkey = "c9aba961bd30072f1e1b9272077abaea" from requests.auth import HTTPBasicAuth import xlrd, xlwt import random from django.db import transaction import re import math import os import urllib.parse import urllib.request # msgconf = eval(i.conf) # 需要发送短信的手机号码 user_list = MyUser.objects.all() nowtime = datetime.datetime.now().strftime('%Y%m%d') for i in user_list: if i.user_phone: tel = i.user_phone ret = re.match(r"^1[35678]\d{9}$", tel) print("------->>",tel) print("------->>",i.username) print("------->>",i.expire_date) if ret: if (i.expire_date).strftime('%Y%m%d') == nowtime: phone_numbers = tel # 短信模板ID,需要在短信控制台中申请 template_id = 590794 # NOTE: 这里的模板 ID`7839`只是示例,真实的模板 ID 需要在短信控制台中申请 # 签名 sms_sign = "云飞科技" # NOTE: 签名参数使用的是`签名内容`,而不是`签名ID`。这里的签名"腾讯云"只是示例,真实的签名需要在短信控制台中申请 ssender = SmsSingleSender(appid, appkey) params = [i.username,i.expire_date] # 当模板没有参数时,`params = []` try: result = ssender.send_with_param(86, phone_numbers, template_id, params, sign=sms_sign, extend="", ext="") # 签名参数未提供或者为空时,会使用默认签名发送短信 except HTTPError as e: print(e) except Exception as e: print(e) print(result) pest_name = [] print("----发送成功",phone_numbers)