PetAgent/backend/utils/sendSMS.py
2026-04-12 11:32:37 +08:00

96 lines
3.6 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# -*- coding: utf-8 -*-
# This file is auto-generated, don't edit it. Thanks.
import os
import sys
import json
from typing import List
from alibabacloud_dypnsapi20170525.client import Client as Dypnsapi20170525Client
from alibabacloud_credentials.client import Client as CredentialClient
from alibabacloud_credentials.models import Config as CredentialConfig # 补充正确导入
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_dypnsapi20170525 import models as dypnsapi_20170525_models
from alibabacloud_tea_util import models as util_models
from alibabacloud_tea_util.client import Client as UtilClient
class Sample:
def __init__(self):
pass
@staticmethod
def create_client() -> Dypnsapi20170525Client:
"""
使用凭据初始化账号Client
@return: Client
@throws Exception
"""
# 方案1直接传入明文AK/SK测试用生产环境禁止
credentialsConfig = CredentialConfig(
type='access_key',
# 直接传入明文AccessKey ID替换为你的真实AK
access_key_id='LTAI5tAxWRqns3nK8kR6PsMW',
# 直接传入明文AccessKey Secret替换为你的真实SK
access_key_secret='tZ7ZAn7k1vkY4amavGeloEU0JzHIsb'
)
credentialsClient = CredentialClient(credentialsConfig)
# 可选获取凭证详情普通AK的security_token为None不影响使用
credential = credentialsClient.get_credential()
access_key_id = credential.get_access_key_id()
access_key_secret = credential.get_access_key_secret()
security_token = credential.get_security_token()
# 配置OpenAPI替换占位符为真实Endpoint
config = open_api_models.Config(
credential=credentialsClient,
endpoint='dypnsapi.aliyuncs.com' # 修正:真实短信验证端点
)
return Dypnsapi20170525Client(config)
@staticmethod
def main(
args: List[str],
) -> None:
client = Sample.create_client()
send_sms_verify_code_request = dypnsapi_20170525_models.SendSmsVerifyCodeRequest(
sign_name='速通互联验证码',
template_code='100001',
phone_number='17536133913',
template_param='{"code":"##code##","min":"5"}'
)
runtime = util_models.RuntimeOptions()
try:
resp = client.send_sms_verify_code_with_options(send_sms_verify_code_request, runtime)
print(json.dumps(resp, default=str, indent=2))
except Exception as error:
# 增强:避免空指针异常
print(error.message)
if error.data:
print(error.data.get("Recommend"))
@staticmethod
async def main_async(
args: List[str],
) -> None:
client = Sample.create_client()
send_sms_verify_code_request = dypnsapi_20170525_models.SendSmsVerifyCodeRequest(
sign_name='速通互联验证码',
template_code='100001',
phone_number='19922573675',
template_param='{"code":"##code##","min":"5"}'
)
runtime = util_models.RuntimeOptions()
try:
resp = await client.send_sms_verify_code_with_options_async(send_sms_verify_code_request, runtime)
print(json.dumps(resp, default=str, indent=2))
except Exception as error:
# 增强:避免空指针异常
print(error.message)
if error.data:
print(error.data.get("Recommend"))
if __name__ == '__main__':
Sample.main(sys.argv[1:])