#!/usr/bin/env python # -*- coding:utf-8 -*- # project: 3月 # author: liuyu # date: 2020/3/22 from aliyunsdkcore.client import AcsClient from aliyunsdkcore.request import CommonRequest import json class AliMsgSender(object): def __init__(self, access_key, secret_key, sing_name, template_code, region_id='cn-hangzhou'): self.regionid = region_id self.sing_name = sing_name self.template_code = template_code self.client = AcsClient(access_key, secret_key, region_id) def send_msg(self, template_code, phone, code): request = CommonRequest() request.set_accept_format('json') request.set_domain('dysmsapi.aliyuncs.com') request.set_method('POST') request.set_protocol_type('https') request.set_version('2017-05-25') request.set_action_name('SendSms') request.add_query_param('RegionId', self.regionid) request.add_query_param('PhoneNumbers', phone) request.add_query_param('SignName', self.sing_name) request.add_query_param('TemplateCode', template_code) request.add_query_param('TemplateParam', {'code': code}) response = self.client.do_action_with_exception(request) data = json.loads(response) if data.get('Code') == 'OK': return True, data.get('Message') else: return False, data.get('Message') def send_register_msg(self, phone, code): return self.send_msg(self.template_code.get('register'), phone, code) def send_change_msg(self, phone, code): return self.send_msg(self.template_code.get('change'), phone, code) def send_login_msg(self, phone, code): return self.send_msg(self.template_code.get('login'), phone, code)