阿里大于短信发送(个人)

from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.request import CommonRequest
import hashlib
from time import time
import logging
import requests

class AlidayuAPI(object):
    APP_KEY_FIELD = 'ALIDAYU_APP_KEY'
    APP_SECRET_FIELD = 'ALIDAYU_APP_SECRET'
    SMS_SIGN_NAME_FIELD = 'ALIDAYU_SIGN_NAME'
    SMS_TEMPLATE_CODE_FIELD = 'ALIDAYU_TEMPLATE_CODE'

    def init_app(self, app):
        config = app.config
        try:
            self.key = config[self.APP_KEY_FIELD]
            self.secret = config[self.APP_SECRET_FIELD]
            self.sign_name = config[self.SMS_SIGN_NAME_FIELD]
            self.templatecode = config[self.SMS_TEMPLATE_CODE_FIELD]
        except Exception as e:
            logging.error(e.args)
            raise ValueError('请填写正确的阿里大鱼配置!')

    def send_sms(self,telephone,code):
        client = AcsClient(self.key, self.secret, 'cn-hangzhou')

        request = CommonRequest()
        request.set_accept_format('json')
        request.set_domain('dysmsapi.aliyuncs.com')
        request.set_method('POST')
        request.set_protocol_type('https') # https | http
        request.set_version('2017-05-25')
        request.set_action_name('SendSms')

        request.add_query_param('RegionId', "cn-hangzhou")
        request.add_query_param('PhoneNumbers', telephone)
        request.add_query_param('SignName', self.sign_name)
        request.add_query_param('TemplateCode', self.templatecode)
        request.add_query_param('TemplateParam', {'code':code})

        response = client.do_action_with_exception(request)
        # python2:  print(response)
        return (str(response, encoding = 'utf-8'))
@bp.route("/sms_captcha/")
def sms_captcha():
    result = alidayu.send_sms("13845231151",code="success_you_are_good")
    print(result)
    if result:
        return "发送成功!"
    else:
        return "发送失败!"

发送成功

猜你喜欢

转载自www.cnblogs.com/Knight66666/p/13164079.html
今日推荐