python项目对接腾讯云发送短信

先安装需要的包

pip install tencentcloud-sdk-python
# -*- coding: utf-8 -*-
# pip install tencentcloud-sdk-python
from tencentcloud.common import credential
from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
# 导入 SMS 模块的client models
from tencentcloud.sms.v20190711 import sms_client, models


# 以下配置信息已全部隐藏个人信息内容
SMS_SECRET_ID = "AKIDFMGwObYxxxx0683mIadS3QbYHm47"  # API秘钥管理SecretId
SMS_SECRET_KEY = "sb6MOBxxxxxxEJAnCNK1ThhT"  # API秘钥管理SecretKey
SMS_APPID = '1xxxxx0724'  # 应用列表SDK AppID
SMS_SIGN = '软xxxxx合'  # 签名管理的内容

# 正文模板管理ID
SMS_TEMPLATE_ID = 
    'register': '101xx67',  # 注册模板ID
}

# from celery_tasks.main import app
cred = credential.Credential(SMS_SECRET_ID, SMS_SECRET_KEY)
client = sms_client.SmsClient(cred, "ap-beijing", )
req = models.SendSmsRequest()
req.SmsSdkAppid = SMS_APPID
req.Sign = SMS_SIGN

# @app.task
def send(phone_number, sms_code):
    """
    发送短信的功能
    :param phone_number:   手机号
    :param template_id:    短信模板id
    :param sms_code:     短信验证码 (注意:4-6位)
    :return:
    使用示例
    send('手机号','短信验证码')
    """
    try:
        req.PhoneNumberSet = ["+86{}".format(phone_number.strip()), ]
        # 模板 ID: 必须填写已审核通过的模板 ID,可登录 [短信控制台] 查看模板 ID
        req.TemplateID = SMS_TEMPLATE_ID['register']
        # 模板参数: 若无模板参数,则设置为空
        req.TemplateParamSet = [sms_code]
        # 给腾讯云发送请求,让腾讯云发送短信
        resp = client.SendSms(req)
        # resp发送短信后的响应结果,可以用来判断,短信是否发送成功了
        print(type(resp), resp)
        # print('---------------')
        # print(resp.SendStatusSet[0].Code) #'Ok'
        # print('--------------')
        return resp.SendStatusSet[0].Code
        # from tencentcloud.sms.v20190711.models import SendSmsResponse
    except TencentCloudSDKException as err:
        # print(err)

        return 'error'



if __name__ == '__main__':

    send("1755xxxx315", "123456")
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐