diff --git a/apps/utils/sms.py b/apps/utils/sms.py index 0fdd69ae..c6a19e59 100644 --- a/apps/utils/sms.py +++ b/apps/utils/sms.py @@ -13,37 +13,40 @@ def send_sms(phone: str, template_code: int, template_param: dict): config = get_sysconfig() if config['sms'].get('enabled', True) is False: return - client = AcsClient(config['sms']['xn_key'], config['sms']['xn_secret'], 'default') - request = CommonRequest() - # 固定json - request.set_accept_format('json') - # 固定地址 - request.set_domain('sms11.hzgxr.com:40081') - # 固定POST - request.set_method('POST') - # 固定HTTP - request.set_protocol_type('http') # https | http - # 固定版本号 - request.set_version('2017-05-25') - # 固定操作名 - request.set_action_name('SendSms') - # 手机号码 - request.add_query_param('PhoneNumbers', phone) - # 签名名称 - request.add_query_param('SignName', config['sms']['xn_sign']) - # 模板CODE - request.add_query_param('TemplateCode', template_code) - # 如果有模板参数 填写模板参数 如果无 无须填写 - request.add_query_param('TemplateParam', json.dumps(template_param)) - res = client.do_action(request) - res_dict = json.loads(str(res, encoding='utf-8')) - # print(phone, template_code, template_param, res_dict) - if res_dict['result'] == 0: + try: + client = AcsClient(config['sms']['xn_key'], config['sms']['xn_secret'], 'default') + request = CommonRequest() + # 固定json + request.set_accept_format('json') + # 固定地址 + request.set_domain('sms11.hzgxr.com:40081') + # 固定POST + request.set_method('POST') + # 固定HTTP + request.set_protocol_type('http') # https | http + # 固定版本号 + request.set_version('2017-05-25') + # 固定操作名 + request.set_action_name('SendSms') + # 手机号码 + request.add_query_param('PhoneNumbers', phone) + # 签名名称 + request.add_query_param('SignName', config['sms']['xn_sign']) + # 模板CODE + request.add_query_param('TemplateCode', template_code) + # 如果有模板参数 填写模板参数 如果无 无须填写 + request.add_query_param('TemplateParam', json.dumps(template_param)) + res = client.do_action(request) + res_dict = json.loads(str(res, encoding='utf-8')) + # print(phone, template_code, template_param, res_dict) + if res_dict['result'] == 0: - return True, res_dict - else: - myLogger.error("短信发送失败:{}-{}-{}-{}".format(phone, template_code, str(template_param), str(res_dict))) - return False, res_dict + return True, res_dict + else: + myLogger.error("短信发送失败:{}-{}-{}-{}".format(phone, template_code, str(template_param), str(res_dict))) + return False, res_dict + except Exception: + myLogger.error("短信发送失败", exc_info=True) def send_sms_huawei():