You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无Mac场景下如何通过Python读取iPhone个人号码接收的短信

可行实现方案

以下方案均支持Windows/Linux系统,不需要Mac设备,可直接实现个人手机号接收短信的Python读取处理:

  • 安卓设备+ADB直连(零成本优先选)
    准备一台插有个人SIM卡的闲置安卓手机即可,不需要root,不需要额外付费。
    操作逻辑:
    1. 手机端打开开发者选项,开启USB调试,用USB线连接电脑,完成调试授权。
    2. 电脑端安装ADB工具,终端执行adb devices能看到设备序列号即为连接成功。
    3. 直接通过ADB命令读取系统短信收件箱内容,Python通过子进程调用ADB命令拿到结果后解析即可,不需要对接第三方服务。
      简单轮询读取示例代码:
import subprocess
import time

processed_ids = set()

def fetch_new_sms():
    cmd = [
        'adb', 'shell', 'content', 'query', '--uri', 'content://sms/inbox',
        '--projection', '_id,address,body,date', '--sort', 'date DESC', '--limit', '20'
    ]
    res = subprocess.run(cmd, capture_output=True, text=True, encoding='utf-8')
    new_sms = []
    for line in res.stdout.strip().split('\n'):
        if not line:
            continue
        sms_data = {}
        for seg in line.split(', '):
            key, val = seg.split('=', 1)
            sms_data[key] = val
        if sms_data['_id'] not in processed_ids:
            processed_ids.add(sms_data['_id'])
            new_sms.append(sms_data)
    return new_sms

if __name__ == '__main__':
    while True:
        sms_list = fetch_new_sms()
        for sms in sms_list:
            # 此处插入自定义业务处理逻辑
            print(f"发件人:{sms['address']},短信内容:{sms['body']}")
        time.sleep(2)

高版本安卓如果限制ADB直接读取短信,可以在手机端安装轻量本地短信转发工具,收到新短信后通过局域网HTTP请求推送到电脑端的Python服务,稳定性更高。

  • USB短信猫硬件对接(无闲置安卓机可选)
    几十元即可买到USB接口的GSM短信猫,把个人SIM卡插入设备后,Python通过串口发送AT指令就能直接读取短信,全平台支持。
    操作逻辑:
    1. 电脑端安装短信猫对应的串口驱动,插入设备后确认串口号(Windows下在设备管理器看,Linux下一般为/dev/ttyUSB0)。
    2. 安装Python串口依赖pip install pyserial,通过AT指令设置短信为文本模式,轮询读取未读短信即可。
      核心代码片段:
import serial
import time

# 波特率根据设备参数调整,常见为9600/115200
ser = serial.Serial('COM3', 9600, timeout=1)
ser.write(b'AT+CMGF=1\r\n')
time.sleep(0.5)

def get_unread_sms():
    ser.write(b'AT+CMGL="REC UNREAD"\r\n')
    time.sleep(1)
    raw = ser.read(ser.in_waiting).decode('gbk')
    # 按AT指令返回格式解析出发件人、时间、正文即可
    print(raw)

注意购买支持国内运营商频段的设备,部分老款短信猫不支持4G/5G网络,会出现收不到短信的问题。

  • 运营商官方开放接口对接(无硬件需求可选)
    三大运营商均面向个人用户开放了短信同步能力,开通后收到的短信会自动推送到你配置的HTTP回调地址,Python写一个简单的Web服务接收回调数据就能处理,不需要额外硬件。
    不同省份运营商的开通流程、接口规范有差异,开通时注意确认个人身份即可,不需要企业资质。

避坑提示:Twilio、腾讯云短信这类公共云短信服务均使用平台分配的专属号码,无法直接绑定个人已有手机号,不符合需求不用测试;不要使用要求上传SIM卡信息、云端复制SIM卡的第三方服务,存在验证码泄露、短信被盗刷的安全风险。

内容的提问来源于stack exchange,提问作者add-itya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 05:48:28