python调用阿里接口发送手机短信,可以做通知,验证短信什么的,后台自定义模板,然后把模板改成你自己的就可以了
# coding=utf-8
"""
@Time : 2022/9/13 13:35
@Author : Taering
@File :手机发送验证码.py
@IDE :PyCharm
@DESC :
"""
from typing import List
from alibabacloud_dysmsapi20170525.client import Client as Dysmsapi20170525Client
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_dysmsapi20170525 import models as dysmsapi_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(
access_key_id: str,
access_key_secret: str,
) -> Dysmsapi20170525Client:
"""
使用AK&SK初始化账号Client
@param access_key_id:
@param access_key_secret:
@return: Client
@throws Exception
"""
config = open_api_models.Config(
# 必填,您的 AccessKey ID,
access_key_id=access_key_id,
# 必填,您的 AccessKey Secret,
access_key_secret=access_key_secret
)
# Endpoint 请参考 https://api.aliyun.com/product/Dysmsapi
config.endpoint = f'dysmsapi.aliyuncs.com'
return Dysmsapi20170525Client(config)
@staticmethod
def main(
args: List[str],
) -> None:
# 请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID 和 ALIBABA_CLOUD_ACCESS_KEY_SECRET。
# 工程代码泄露可能会导致 AccessKey 泄露,并威胁账号下所有资源的安全性。以下代码示例使用环境变量获取 AccessKey 的方式进行调用,仅供参考,建议使用更安全的 STS 方式,更多鉴权访问方式请参见:https://help.aliyun.com/document_detail/378659.html
client = Sample.create_client('你的ID', '你的key')# 为了安全,建议将关键信息写入系统变量或者配置成配置文件
send_sms_request = dysmsapi_20170525_models.SendSmsRequest(
sign_name='你的签名',
template_code='模板名字',
phone_numbers='手机号',
template_param='{"code":"信息变量"}'
)
runtime = util_models.RuntimeOptions()
try:
# 复制代码运行请自行打印 API 的返回值
res = client.send_sms_with_options(send_sms_request, runtime)
print(res)
if res.body.message == 'OK':
print({'code': '200', 'msg': 'send message successful'})
else:
print({'code': '400', 'msg': 'please wait for 1 min'}) # 还有其他的返回,接口文档中有,自己根据业务调整
except Exception as error:
# 如有需要,请打印 error
UtilClient.assert_as_string(error.message)
if __name__ == '__main__':
list = []
Sample.main(list)