テンセントSMSサービスライト(PHP)

SMSによってゆっくりと通常のコミュニケーションツールのキューをフェードアウト、常に置き換えれることはありませんによってその存在、SMSの確認コードを消去された、通知のステータスに関する重要な情報に加えてのは望ましくありません。だから、SMSの使用は、リングの開発に必要であることを理解。

テンセントクラウドSMSサービスは100に無料で提供され、それは開発とテストのために便利です。

テンプレートテキストメッセージングサービスと確立

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

ビューSDK

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

これは、複数の言語のSDKを提供します

PHPのSMSテンプレートの流線

単一メッセージテンプレートを達成するために送ります

1  / * *
 2  * @param文字$ nationCode国コード、例えば86中国語など
 3  * @param文字列$にphoneNumber国コード電話番号無し
 4  * @param INT $ templidテンプレート前記ID上記
 5  * @param配列$ paramsはテンプレートパラメータこうしたテンプレートとしてリスト、...、{1} {2} {3} ...、あなたは3つの引数を取る必要がある
 。6  * @param文字列$サイン署名空白文字列で塗りつぶした場合、システムはデフォルトの署名を使用します
 。7  * @param文字列$空白の文字列を埋めることができ、拡散符号を拡張する
 8つの パラメータ@param文字列$ extは*のように、サーバから返され、空白の文字列を埋めることができます
 。9  * @return文字列レスポンスJSON文字列を、詳細なプロトコルドキュメントテンセント雲参照
 10  * / 
11  機能 sendWithParam($ nationCode$にphoneNumber$ templid = 0、$ paramsは$サイン = ""、$拡張 = ""、$ EXT = "" ){
 12は         
13である         $のAppID = 1400xxx;   // 自分のメッセージのAppID 
14          $のAppKey = "d80axxxxx"; // 自分のメッセージのAppKey 
15          
16          $ランダム = RAND(100000、999999); //は、乱数生成
17          $ CURTIME = 時間();
 18          $ wholeUrl = "https://yun.tim.qq.com/v5/tlssmssvr/sendsms"「sdkappid =。? 。 " $のAppID。" &ランダム= "。$ランダム;
 19  
20          //プロトコルパッケージに応じてポスト体組織
21が         $データ = 新新 \はstdClass(); //は、メソッドとプロパティのメンバーオブジェクト空のいない作成
22は         $電話は = 新しい新しい\はstdClass();
 23が         $電話を。 - > nationcode =「」$ nationCode ;
 24          $電話 - >モバイル= "" $にphoneNumber ;
 25          $データ - >電話= $電話;
 26は         $データ - > SIG =ハッシュ( "SHA256"、 "のAppKey =" $のAppKey。 "&ランダム=" ランダム$ .. "時間=&" $ CURTIME "モバイル&="。$にphoneNumber)。// 署名生成
27          $のデータを- > tpl_id = $ templId 28の         $データ - >のparams = $のparams ;
29の         $データ - >記号= $記号;
30の         $データ - > 時間 = $ CURTIME 31の         $データ - >延長= $延ばします32の         $データ - > EXT = $ EXT 33  
34          リターン sendCurlPost($ wholeUrl$データ)。
35  }
 36  / * *
 37  *发送请求
 38  *
 39 * @Param列$ URL要求アドレス
 40  * @paramアレイはdataobjコンテンツ要求$
 41である * @returnストリング応答JSON文字列
 42がある * / 
43である 関数 sendCurlPost($ URL$ dataobj ){
 44は         $カール = curl_init();
 45          ますcurl_setopt ($カール、へCURLOPT_URL $ URL );
 46である          ますcurl_setopt($カール、CURLOPT_HEADER、0 ;)
 47          ますcurl_setopt($カール、CURLOPT_RETURNTRANSFER ,. 1 );
 48          ますcurl_setopt($カール、CURLOPT_POST ,. 1);
49          ますcurl_setopt($カール、CURLOPT_CONNECTTIMEOUT、60 );
50          ますcurl_setopt($カール、CURLOPT_POSTFIELDS、json_encode($ dataObj ));
51          ますcurl_setopt($カール、CURLOPT_SSL_VERIFYHOST、0 );
52          ますcurl_setopt($カール、CURLOPT_SSL_VERIFYPEER、0 );
53          $ RET = curl_exec($カール);
54          もし == $ RET ){
 55              // curl_execは失敗した
56              $結果を= "{\" \つながります":"。-2。"\ "ERRMSG \":\ "" curl_error($カール)。 "\"}" ;
57          } {
 58              $ RSP = curl_getinfo($カールCURLINFO_HTTP_CODE)。
59              もし(!200 = $ RSP ){
 60                  $結果 = "{\"結果\ ":"。-1。"\ "ERRMSG \":\ ""。$ RSP 
61                          "" curl_error(。。$カール)。 "\"}" 62              } {
 63                  $結果 = $右;
64              }
65          }
 66          curl_close($カール)。
67  
68          戻り ます$ result ;
69 }

テストコード:

1つの 関数XX(){
 2  $ templid = 286xxx; // 自分のメッセージテンプレートID 
3。 $ phoneNumber1 = "159xxxxx"; //は、SMS、携帯電話番号を受け入れる
。4  試み{
 5つの // テンプレートプレースホルダデータ
。6  $ paramsは = 配列(「データ1 ""データ2 " 7  $結果 = sendWithParam(" "86 $ phoneNumber1$ templid$ paramsは、" "" "" " );
 8  エコー $結果// JSON出力成果
9 } キャッチ(\ 例外 E $ ){
 10       エコー のvar_dump$ E); // 出力異常情報
11      }
 12 }

おすすめ

転載: www.cnblogs.com/yixin007/p/12446490.html
おすすめ