Tencent servicio de SMS Lite (PHP)

Dependiendo de SMS ha sido poco a poco se desvanecen las herramientas de comunicación habituales Cola, pero siempre borrar su código de verificación de la existencia, SMS no dependiendo ser reemplazados, además de información importante sobre el estado de la notificación no es deseable de. Así entiende el uso de SMS es necesario en el desarrollo de un anillo.

servicio en la nube de SMS Tencent se proporciona de forma gratuita en el 100, es conveniente para el desarrollo y pruebas.

servicio de mensajería de texto y establece una plantilla

https://console.cloud.tencent.com/sms

Ver SDK

https://cloud.tencent.com/document/product/382/13410

Proporciona SDK en varios idiomas

PHP Plantillas SMS aerodinámica

Enviar a alcanzar una plantilla de mensaje único

1  / * *
 2  * @param string $ nationCode código del país, tales como el chino 86
 3  * @param string $ phoneNumber sin un número de teléfono código de país
 de 4  * @ param int $ templid plantilla por encima de la Identificación del mencionado
 5  * @param array $ params parámetros de plantilla lista, como plantilla ... {1} {2} {3} ..., es necesario tomar tres argumentos
 . 6  * @param string $ firma muestra, si el relleno de la cadena en blanco, el sistema usará la firma por defecto
 . 7  * @param string $ extender el código de ensanchamiento, se puede llenar en la cadena en blanco
 8  parámetros @param string $ ext devuelto desde el servidor como *, puede llenar en la cadena en blanco
 . 9  * cadena JSON respuesta cadena @return, véase el documento protocolo detallado Tencent nube
 10  * / 
. 11  función sendWithParam ( $ nationCode , $ phoneNumber , $ templid = 0, $ params, Signo $ = "", $ Extend = "", $ EXT = "" ) {
 12 es          
13 es          $ AppID = 1400xxx;   // propio mensaje APPID 
14          $ AppKey = "d80axxxxx"; // propio mensaje AppKey 
15          
16          $ al azar = RAND (100000, 999999); // generar números aleatorios 
17          $ CURTIME = Time ();
 18          $ wholeUrl = "https://yun.tim.qq.com/v5/tlssmssvr/sendsms" "sdkappid =.? . " $ AppID ." & Random = ". $ aleatoria ;
 19  
20          //tejido del cuerpo posterior de acuerdo al paquete de protocolo 
21 es          $ datos = new new \ la stdClass (); // Crear un miembro de métodos y propiedades no se vacía objeto 
22 es          $ Tel = new new \ la stdClass ();
 23 es          $ Tel . -> nationcode = "" $ nationCode ;
 24          $ Tel -> móvil = "" $ phoneNumber ;
 25          $ de datos -> Tel = $ Tel ;
 26 es          $ datos -> SIG = hash ( "SHA256", "AppKey =" $ AppKey . "y Random =" Random $ .. "Tiempo = &" $ CURTIME "móvil y =.". $ phoneNumber );// generar la firma 
27          $ los Datos-> tpl_id = $ templId ;
28          $ data -> params = $ params ;
29          $ data -> signo = $ signo ;
30          $ data -> tiempo = $ CURTIME ;
31          $ de datos -> extender = $ extender ;
32          $ data -> ext = $ ext ;
33  
34          retorno sendCurlPost ( $ wholeUrl , $ data );
35  }
 36  / * *
 37  *发送请求
 38  *
 39 * Cadena @Param $ url petición de dirección
 40  * Matriz @param $ dataobj solicitud de contenido
 41 es  * La respuesta de Cadena @return cadena JSON
 42 es  * / 
43 es  función sendCurlPost ( $ url , $ dataobj ) {
 44 es          $ rizo = curl_init ();
 45          curl_setopt ( $ enrollamiento , CURLOPT_URL a, $ URL );
 46 es          curl_setopt ( $ enrollamiento , CURLOPT_HEADER, 0 );
 47          curl_setopt ( $ enrollamiento , CURLOPT_RETURNTRANSFER ,. 1 );
 48          curl_setopt ( $ enrollamiento , CURLOPT_POST ,. 1);
49          curl_setopt ( $ rizo , CURLOPT_CONNECTTIMEOUT, 60 );
50          curl_setopt ( $ rizo , CURLOPT_POSTFIELDS, json_encode ( $ dataobj ));
51          curl_setopt ( $ enrollamiento , opción CURLOPT_SSL_VERIFYHOST, 0 );
52          curl_setopt ( $ rizo , CURLOPT_SSL_VERIFYPEER, 0 );
53          $ ret = curl_exec ( $ rizo );
54          si ( falsa == $ ret ) {
 55              // curl_exec falló 
56              $ resultado= "{\" Número \ ":". -2. "\ "errmsg \": \ "" curl_error ( $ rizo .) "\"}" ;
57          } más {
 58              $ RSP = curl_getinfo ( $ enrollamiento , CURLINFO_HTTP_CODE);
59              si (! = 200 $ RSP ) {
 60                  $ resultado = "{\" número \ ":". -1. "\ "errmsg \": \ "". $ RSP 
61                          "" curl_error (. $ rizo \ "}")." ;
62              } demás {
 63                  $ resultado = $ derecha ;
64              }
65          }
 66          curl_close ( $ rizo );
67  
68          de retorno  $ resultado ;
69 }

Código de ensayo:

. 1  función XX () {
 2  $ templid = 286xxx; // propia plantilla de ID de mensaje 
. 3  $ phoneNumber1 = "159xxxxx"; // Aceptar número de teléfono móvil SMS 
. 4  el try {
 . 5  // datos de la plantilla de marcador de posición 
. 6  $ params = array ( "Datos 1 "" 2 "de datos );
 . 7  $ Resultado = sendWithParam (" 86 " $ phoneNumber1 , $ templid , $ el params ," "" "" " );
 . 8  eco  $ result ;// resultados exitosos de salida JSON 
9 } la captura (\ Excepción E $ ) {
 10       eco  var_dump ( $ E ); // salida de información de anomalía 
11      }
 12 }

Supongo que te gusta

Origin www.cnblogs.com/yixin007/p/12446490.html
Recomendado
Clasificación