核心用法
freemobile-sms 是一个专为 Free Mobile 法国运营商用户设计的 SMS 发送技能。用户需先在 Free Mobile 官网(mobile.free.fr)的"Mes options"中启用"Notifications par SMS"功能,获取 API 密钥。配置环境变量 FREEMOBILE_SMS_USER(用户标识)和 FREEMOBILE_SMS_API_KEY 后,即可通过命令行调用 scripts/FreeMobile_sms.py 发送短信。典型使用场景包括:发送日程提醒、系统告警通知、待办事项提示等。脚本支持 --message 参数指定短信内容,,--timeout 参数控制 HTTP 请求超时(默认 10 秒)。
显著优点
安全性设计优秀:凭证完全通过环境变量管理,无硬编码风险;代码中未使用 eval/exec/subprocess/os.system 等危险函数;网络请求强制使用 HTTPS 加密传输。
功能透明可控:仅与 Free Mobile 官方 API(smsapi.free-mobile.fr)通信,目标固定;消息长度自动截断至 160 字符,防止滥用;内置超时机制避免长时间阻塞。
部署轻量便捷:仅依赖 Python 3 标准库(argparse、os、sys)和 requests 库,通过 Homebrew 即可快速安装;开源项目托管于 GitHub,代码完全可审计。
潜在缺点与局限性
运营商强绑定:仅限 Free Mobile 法国运营商订阅用户使用,其他运营商用户无法使用;需主动在官网开启 API 功能,门槛存在。
功能高度单一:仅能向用户自己的手机号码发送短信,不支持群发、不支持自定义收件人、不支持国际号码。
严格的使用配额:Free Mobile API 限制每天 200-250 条短信,单条 160 字符,两次发送间隔至少 10 秒——不适合高频通知场景。
语言与地域限制:文档和界面均为法语,对非法语用户不够友好;API 服务端位于法国,其他地区可能存在网络延迟。
适合的目标群体
- Free Mobile 法国用户:已订阅该运营商且需要简单短信提醒的个人用户
- 开发者与运维人员:希望为个人项目或家庭服务器添加低成本告警通知的技术用户
- 隐私敏感用户:倾向于使用官方 API 而非第三方短信服务,避免数据外泄
- 法语环境用户:能阅读法语文档,或仅需基础命令行操作的简单场景
使用风险
依赖项风险:需要 Python 3 和 requests 库,若环境未预装需手动配置;requests 版本过旧可能存在 TLS 兼容性问题。
API 可用性风险:Free Mobile 服务变更或 API 下线将导致技能失效;网络不稳定时短信可能发送失败。
配额耗尽风险:高频自动化脚本易触发日限额,需自行实现发送频率控制逻辑。
凭证管理风险:环境变量虽比硬编码安全,但若在多用户系统配置不当,仍存在被其他进程读取的可能。