你有没有遇到过这样的场景:深夜加班时,突然需要给客户群发一条紧急通知;或者策划活动时,想给参与者发送提醒短信,却只能一个一个手动输入?别急!今天我要分享一个超实用的Python短信发送工具,它就像你的“短信小管家”,能帮你轻松搞定批量短信、闪信提醒,还能验证号码是否有效。

代码解剖:短信发送背后的“魔法”

第一步:引入工具箱

import requests

就像做饭需要锅碗瓢盆,requests模块就是我们发送短信的“快递员”,负责把短信内容打包送到指定手机上。

第二步:配置“短信暗号”

apiKey = ""  # 这是你的短信平台密钥
SID = ""     # 这是你的短信服务ID
senderID = ""  # 这是显示在短信开头的发送方名称

这些变量就像是进入短信王国的“通关密码”,必须填写正确的密钥和ID,才能让短信顺利发出。

第三步:普通短信发送

def send_sms(number):
    headers_sms = {
        "api-key": apiKey,
    }

    data_sms = {
        "type": "TXN",  # 短信类型
        "to": "+86{}".format(str(number)),  # 目标手机号
        "sender": senderID,  # 发送方名称
        "body": "你要发送的短信内容",  # 短信内容
    }

    response = requests.post(
        "https://api.kaleyra.io/v1/{}/messages".format(SID),
        headers=headers_sms,
        data=data_sms,
    )
    return response.json()

这段代码就像写信的过程:

  1. headers_sms 是信封上的邮票,告诉短信平台“这是我的密钥”。
  2. data_sms 是信件内容,包括收件人、发送方和短信正文。
  3. requests.post 是快递员,负责把信送到目标手机上。

第四步:闪信发送

def send_flash_sms(number):
    data = {
        "to": "+86{}".format(str(number)),
        "type": "TXN",
        "sender": senderID,
        "body": "这里写上闪信内容",
        "flash": "1",  # 这是闪信的标志
    }

    response = requests.post(
        "https://api.kaleyra.io/v1/{}/messages".format(SID),
        headers=headers_sms,
        data=data,
    )
    return response.json()

闪信就像手机屏幕上的“弹窗广告”,"flash": "1" 是让短信直接弹出的“魔法咒语”。

第五步:号码验证

def number_val(number):
    headers = {
        "Content-Type": "json",
        "api-key": apiKey,
    }

    response = requests.get(
        "https://api.kaleyra.io/v1/{}/lookup/+86{}".format(SID, str(number)),
        headers=headers,
    )
    if response.json()["invalid_count"]:
        return False, response.json()
    else:
        return True, response.json()

这段代码就像给手机号做“体检”,判断号码是否有效。如果返回False,说明号码有问题;如果返回True,说明号码可以正常使用。

花式升级:短信工具的N种玩法

场景一:批量发送会议提醒

当你需要给100个客户发送会议提醒时,手动输入显然不现实。我们可以用循环实现批量发送:

def batch_send_sms(numbers_list):
    for number in numbers_list:
        send_sms(number)
        print(f"短信已发送至:{number}")

只需要把客户号码放进numbers_list列表,程序就会自动逐个发送,效率翻倍!

场景二:短信验证码系统

在用户注册或登录时,发送验证码是常见的需求。我们可以用随机数生成验证码,并通过短信发送:

import random

def send_verification_code(phone_number):
    verification_code = random.randint(1000, 9999)  # 生成4位随机验证码
    message = f"您的验证码是:{verification_code},请在5分钟内使用。"
    
    # 构造短信内容
    data_sms = {
        "type": "TXN",
        "to": "+86{}".format(str(phone_number)),
        "sender": senderID,
        "body": message,
    }
    
    response = requests.post(
        "https://api.kaleyra.io/v1/{}/messages".format(SID),
        headers=headers_sms,
        data=data_sms,
    )
    return response.json(), verification_code

这段代码会生成一个4位随机验证码,并通过短信发送到用户手机,非常适合登录验证场景。

总结:短信工具的无限可能

这个短信发送工具就像你的“短信小管家”,不仅能发送普通短信和闪信,还能验证号码有效性。你可以用它:

  • 给客户发送批量通知
  • 在活动前发送提醒短信
  • 为登录系统添加验证码功能
  • 给家人发送节日祝福

短信的力量不容小觑,几行代码就能让你的沟通效率大幅提升。需要完整源码的朋友,欢迎在评论区留言,或者私信我,让我们一起用代码打造更高效的沟通方式!

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐