overtrue / easy-sms

📲 一款满足你的多种发送需求的短信发送组件
MIT License
3.13k stars 545 forks source link

腾讯是使用 Template + data 的方式 #199

Closed lvxianchao closed 4 years ago

lvxianchao commented 5 years ago

我今天接入腾讯云,发现腾讯云的短信服务是使用 Template + data 的方式,Readme 里写成了 content

gyp719 commented 4 years ago

我今天接入腾讯云,发现腾讯云的短信服务是使用 Template + data 的方式,Readme 里写成了 content

具体的参数 应该是怎么样的? 我这边一直 报错 "message": "Undefined index: result" , 文档上面写的 是 使用 content

overtrue commented 4 years ago

content: "您的验证码是{1}" template: 123456 (模板ID)

gyp719 commented 4 years ago

content: "您的验证码是{1}" template: 123456 (模板ID)

config/easysms.php 文件 配置

 'qcloud' => [
            'sdk_app_id' => 'xxx',
            'app_key'    => 'nqFRDrHxxx',
            'sign_name'  => '好xxx',
        ],
try {
                $result = $easySms->send(1517xxxx, [
                    'content' => '您的动态验证码为:1234,您正在进行密码重置操作,如非本人操作,请忽略本短信!',
                    'template' => 707466,
                ]);
            } catch (NoGatewayAvailableException $exception) {
                $message = $exception->getException('qcloud')->getMessage();
                return $this->failed($message ?: '短信发送异常');
            }

依旧是报错 "message": "Undefined index: result"

overtrue commented 4 years ago

1、 content 里的东西不要替换啊,用模板原文 2、报错行是?

gyp719 commented 4 years ago

1、 content 里的东西不要替换啊,用模板原文 2、报错行是?

 try {
                $result = $easySms->send(1517244xxx, [
                    'content' => '您的动态验证码为:{1},您正在进行密码重置操作,如非本人操作,请忽略本短信!',
                    'template' => 707466,
                ]);
            } catch (NoGatewayAvailableException $exception) {
                $message = $exception->getException('qcloud')->getMessage();
                return $this->failed($message ?: '短信发送异常');
            }

就是没有报错的行数

gyp719 commented 4 years ago

1、 content 里的东西不要替换啊,用模板原文 2、报错行是?

[2020-09-01 12:37:48] production.DEBUG: array ( 'ActionStatus' => 'FAIL', 'ErrorCode' => 60012, 'ErrorInfo' => 'Rest Api need sdkappid', )
密钥 设置了

 'sdk_app_id' => 'AKIDd07xWqxxx',
'app_key'    => 'nqFRDrHVxxx',
'sign_name'  => '好快xx',
gyp719 commented 4 years ago

1、 content 里的东西不要替换啊,用模板原文 2、报错行是?

问题解决了: 参数如下

 try {
                $result = $easySms->send($phone, [
                    'template' => 707466,
                    'content'  => "您的动态验证码为:{1},请于5分钟内完成验证,如非本人操作,请忽略本短信!",
                    'data'     => [
                        $code,
                    ],
                ]);
            } catch (NoGatewayAvailableException $exception) {
                $message = $exception->getException('qcloud')->getMessage();
                return $this->failed($message ?: '短信发送异常');
            }

大佬,请把github文档 和 packagist文档更新下。 文档上面写 腾讯云 SMS 短信内容使用 content