SMS検証機能

SMSを送信

私たちは、このようなアリの雲、テンセントクラウド(のpython3無愛想用)クラウド通信などのサードパーティ製のプラットフォームを使用して、テキストメッセージを送信する必要があります。例示的な雲テンセントとして本明細書中で使用されます

テンセントクラウドメッセージング準備

1.テンセントクラウド公式サイトの登録、実名認証、ログイン(ナンセンスではない、スキップ)

ページの右上に「コンソール」2.クリック

クラウド製品のナビゲーションバー上の3.、あなたが見つかりました。様々な製品、見ることができます「というメッセージを。」「ページを購読する」に転送される最初の時間のために、チェックがアクセスを開始することに合意しました。(これは個人的な認定で、認定はまた、いくつかの認証関連の材料が必要です)

アプリケーションリスト、パッケージ管理パッケージ、SDK&API:4.アクセスは、3つの主要な機能を持っています。

* 应用列表:管理应用的;
* 套餐包管理:管理套餐包的;
* SDK & API:就是一些相关的指南手册(开发指南);

「アプリケーションの追加」アプリケーション一覧ページ5.、後に行くことにポイントを追加します(アプリケーション名など:テクノロジー・スタック)

6.自宅メッセージを来る、メッセージ内容の設定をクリックしてください

- 7 SMS署名が>署名を作成する:マイクロチャネルパブリック番号またはアプレットを使用する(マイクロチャネルパブリック番号ホームショットを登録し)、図作成署名を記入

8. SMSテキスト - >テキストテンプレートを作成します。図のSMSテキストを入力します。

9.保留中のレビュー

背景開発

参考SDK&API開発者ガイド:ドキュメントセンター> SMS> SDKドキュメント> PythonのSDK https://cloud.tencent.com/document/product/382/11672

設定SDK

pip install qcloudsms_py

必要なパラメータを準備するには

# 短信应用 SDK AppID 以1400开头
appid = 1400009099  
# 短信应用 SDK AppKey 根据自己的短信应用配置
appkey = "9ff91d87c2cd7cd0ea762f141975d1df37481d48700d70ac37470aefc60f9bad"
# 需要发送短信的手机号码(非必填项,可在你的开发代码中传入)
phone_numbers = ["21212313123", "12345678902", "12345678903"]
# 短信模板ID,真实的模板 ID 需要在短信控制台中申请
template_id = 7839  # 这里的模板 ID`7839`只是示例,
# 签名,使用的是`签名内容`,而不是`签名ID`。这里的签名"腾讯云"只是示例,真实的签名需要在短信控制台中申请
sms_sign = "腾讯云"  # 发写个空字符串也行

単一のテンプレートIDのテキストメッセージを指定します

import random
from utils.logging import logger
from .settings import *
from qcloudsms_py import SmsSingleSender
ssender = SmsSingleSender(appid, appkey)
# 生成验证码
def get_code():
    code = ''
    for i in range(4):
        code += str(random.randint(0, 9))
    return code

def send_sms(mobile, code, exp):
    """
    发送短信
    :param mobile: 电话号码
    :param code: 验证码
    :param exp: 过期时间
    :return:
    """
    try:
        response = ssender.send_with_param(86, mobile, template_id, (code, exp), sign=sms_sign, extend="", ext="")
        # 短信发送成功的标识:没有异常且response大字典中的result为0
        if response and response['result']==0:
            return True
        logger.error('sms error: %s'% response['errmsg'])
        return
    except Exception as e:
        logger.error("sms error: %s" % e)
        return False
    
if __name__ == '__main__':
    code = get_code()
    print(code)
    result = send_sms('xxxxxxx',code,'1')  # 电话号码,验证码,过期时间
    print(result)

おすすめ

転載: www.cnblogs.com/863652104kai/p/11541077.html