|
@@ -0,0 +1,35 @@
|
|
|
|
+import json
|
|
|
|
+
|
|
|
|
+from aliyunsdkcore.client import AcsClient
|
|
|
|
+from aliyunsdkcore.request import CommonRequest
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+class SmsSender(object):
|
|
|
|
+ def __init__(self, appkey=None, appsecret=None):
|
|
|
|
+ self.appkey = appkey
|
|
|
|
+ self.appsecret = appsecret
|
|
|
|
+ self.client = AcsClient(self.appkey, self.appsecret, 'ap-northeast-1')
|
|
|
|
+ self.request = CommonRequest
|
|
|
|
+ self.request.set_accept_format('json')
|
|
|
|
+ self.request.set_domain('dysmsapi.aliyuncs.com')
|
|
|
|
+ self.request.set_version('2017-05-25')
|
|
|
|
+ self.request.set_action_name('SendSms')
|
|
|
|
+
|
|
|
|
+ def init_app(self, app):
|
|
|
|
+ self.appkey = app.config["ACLOUD_SMS_KEY"]
|
|
|
|
+ self.appsecret = app.config['ACLOUD_SMS_SECRET']
|
|
|
|
+ self.client = AcsClient(self.appkey, self.appsecret, 'ap-northeast-1')
|
|
|
|
+
|
|
|
|
+ def send(self, phone_num, signname, template_code, code):
|
|
|
|
+ self.request.add_query_param('PhoneNumbers', phone_num)
|
|
|
|
+ self.request.add_query_param('SignName', signname)
|
|
|
|
+ self.request.add_query_param('TemplateCode', template_code)
|
|
|
|
+ self.request.add_query_param('TemplateParam',
|
|
|
|
+ json.dumps(dict(code=str(code))))
|
|
|
|
+ response = self.client.do_action(self.request)
|
|
|
|
+ return str(response, encoding='utf-8')
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|