easySms 发送短信

2018-10-31 16:12:39 阅读:2 编辑

easysms.php

<?PHP
return [
    // HTTP 请求的超时时间(秒)
    'timeout' => 5.0,

    // 默认发送配置
    'default' => [
        // 网关调用策略,默认:顺序调用
        'strategy' => \Overtrue\EasySms\Strategies\OrderStrategy::class,

        // 默认可用的发送网关
        'gateways' => ['aliyun',],
    ],
    // 可用的网关配置
    'gateways' => ['errorlog' => ['file' => '/tmp/easy-sms.log',
        ],
        'yunpian' => ['API_key' => env ('YUNPIAN_API_KEY'),
        ],
        'aliyun' => ['access_key_id' => env ('ALIYUN_ACCESS_KEY_ID'),
            'access_key_secret' => env ('ALIYUN_ACCESS_KEY_SECRET'),
            'sign_name' => env ('ALIYUN_SIGN_NAME'),
        ],
    ]
];
.env
ALIYUN_ACCESS_KEY_ID=xx
ALIYUN_ACCESS_KEY_SECRET=yy
ALIYUN_SIGN_NAME=xx 培训
ALIYUN_VERIFICATION_TEMPLATE_ID=SMS_14945896

发送短信

$phone = "18050056050";
    $code = str_pad (random_int (1,9999),4,0,STR_PAD_LEFT);
    $easySms = App ("easysms");
    try{$result = $easySms->send ($phone, ['template' => env ('ALIYUN_VERIFICATION_TEMPLATE_ID'),
            'data' => ['code' => $code
            ],
        ]); // 这里的网关配置将会覆盖全局默认值
    }catch (\GuzzleHttp\Exception\ClientException $exception){$reponse = $exception->getResponse ();
        $result = JSON_decode ($reponse->getBody ()->getContents (),true);
        echo $result ["msg"] ?? '短信发送异常';
        exit ();}
    echo "ok";