1、申请阿里云短信服务,具体步骤看我的python2-Django配置短信服务
2、安装依赖
aliyun-python-sdk-core-v3
aliyun-python-sdk-dysmsapi==1.0.0
3、配置基本信息
# 注意:不要更改
REGION = "cn-hangzhou"
PRODUCT_NAME = "Dysmsapi"
DOMAIN = "dysmsapi.aliyuncs.com"
SIGN_NAME = '你的签名' # 可以设置多个,按需求选取即可
# ACCESS_KEY_ID 和 ACCESS_KEY_SECRET 为阿里云短信申请的
ACCESS_KEY_ID = ""
ACCESS_KEY_SECRET = ""
4、调用上述设置
acs_client = AcsClient(ACCESS_KEY_ID, ACCESS_KEY_SECRET, REGION)
region_provider.add_endpoint(PRODUCT_NAME, REGION, DOMAIN)
5、调用官方SDK发送方法
def ali_send_sms(business_id, phone_numbers, sign_name, template_code, template_param=None):
sms_request = SendSmsRequest.SendSmsRequest()
# 申请的短信模板编码,必填
sms_request.set_TemplateCode(template_code)
# 短信模板变量参数
if template_param is not None:
sms_request.set_TemplateParam(template_param)
# 设置业务请求流水号,必填。
sms_request.set_OutId(business_id)
# 短信签名
sms_request.set_SignName(sign_name)
# 短信发送的号码列表,必填。
sms_request.set_PhoneNumbers(phone_numbers)
# 调用短信发送接口,返回json
sms_response = acs_client.do_action_with_exception(sms_request)
sms_rsp = json.loads(sms_response)
if sms_rsp.get('Code') != 'OK':
log.exception('========短信发送失败 原因')
log.exception(sms_rsp.get('Message')+','+str(phone_numbers))
return False
return True
7、按自己需求开发弄得方法
def send_sms(mobile_no, content, template_code):
"""
发送短信
:param mobile_no: 手机号码
:param content: 发送内容(json格式)
:param template_code: 模板代码
:return:
"""
try:
__business_id = uuid.uuid1()
params = content
send_res = ali_send_sms(__business_id, mobile_no, SIGN_NAME, template_code, params)
return send_res
except Exception as ex:
log.exception(ex)
return False
def send_verify_code(mobile_no, template_code, random_number=None):
"""
发送校验码
:param mobile_no: 手机号码
:param random_number: 验证码
:param template_code: 模板代码
:return:
"""
if random_number is None:
random_number = random.randrange(1, 10000, 5)
content = '{"code": "' + str(random_number) + '"}'
return send_sms(mobile_no, content, template_code)
8、调用发送短信
if __name__ == '__main__':
# 发送验证码
send_verify_code("要发送的电话号码", "你申请的验证码模板CODE")
# 发送通知短信
content = dict()
content['name'] = '帅帅的吾延' # name 为你申请短信模板的参数
content['content'] = '吾延是真的帅' # content为你申请短信模板的参数
send_sms("要发送的电话号码", content, "你申请的验证码模板CODE")
自此python3阿里短信服务就完成了, 接下来就是自己去调用了
ps:已经近半年没有写博客了,经过两年的奋斗,也已经月薪十多k,从那个头发浓密的少年快变成了个秃头的油腻大叔。 本人写的博客喜欢直入主题,不会进行什么互动,也比较反感那些收费或发收款二维码的行为, 来了既是缘分, 所以大家观看后觉得有用的直接评论个好字即可。
来源:oschina
链接:https://my.oschina.net/u/4303575/blog/4496717