from tencentcloud.common import credential
from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
from tencentcloud.sms.v20210111 import sms_client, models
SECRET_ID = 'AKIDqhYUJxQlwxoU1OpT4fB5y9KNKBINQdzR'
SECRET_KEY = 'Z0SE0dAasBRbp7WuKnNB556CD8ueNyR'
APP_ID = '1400832175'
SIGN_NAME = '编程活力公众号'
TEMPLATE_ID = '1842855'
def send_sms_code(mobile: str, code: str, express: str):
try:
cred = credential.Credential(SECRET_ID, SECRET_KEY)
# 第二个参数是地域信息,可以直接填写字符串ap-guangzhou,
# 支持的地域列表参考 https://cloud.tencent.com/document/api/382/52071#.E5.9C.B0.E5.9F.9F.E5.88.97.E8.A1.A8
client = sms_client.SmsClient(cred, "ap-guangzhou")
# 实例化一个请求对象,根据调用的接口和实际情况,可以进一步设置请求参数
req = models.SendSmsRequest()
# 短信应用ID: 短信SdkAppId在 [短信控制台] 添加应用后生成的实际SdkAppId,示例如1400006666
# 应用 ID 可前往 [短信控制台](https://console.cloud.tencent.com/smsv2/app-manage) 查看
req.SmsSdkAppId = APP_ID
# 短信签名内容: 使用 UTF-8 编码,必须填写已审核通过的签名
req.SignName = SIGN_NAME
# 模板 ID: 必须填写已审核通过的模板 ID
req.TemplateId = TEMPLATE_ID
# 模板参数: 模板参数的个数需要与 TemplateId 对应模板的变量个数保持一致,,若无模板参数,则设置为空
req.TemplateParamSet = [code]
# 下发手机号码,采用 E.164 标准,+[国家或地区码][手机号]
# 示例如:+8613711112222, 其中前面有一个+号 ,86为国家码,13711112222为手机号,最多不要超过200个手机号
req.PhoneNumberSet = [f"+86{mobile}"]
# 用户的 session 内容(无需要可忽略): 可以携带用户侧 ID 等上下文信息,server 会原样返回
req.SessionContext = ""
resp = client.SendSms(req)
# 输出json格式的字符串回包
print(resp.to_json_string(indent=2))
return True, "短信发送成功"
except TencentCloudSDKException as err:
return False, err
print(send_sms_code('19511312873', "9958", '1'))
腾讯云短信使用
发布时间 2023-06-25 15:13:08作者: Gentry-Yang