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

Python遍历用户字典列表实现带个性化参数的Twilio短信发送问题

错误原因
  • 内层遍历字典的逻辑完全错误:你存储每个用户信息的字典包含User、Number、days三个独立键,直接按键取值即可,不需要遍历d.items(),遍历反而会把三个键值对全部循环一次,导致参数完全错位。
  • 剩余天数取值错误:每个用户的到期剩余天数已经提前存入字典的days字段,不需要再调用全局的days_left.days,避免所有用户的短信都用同一个天数。
修正后的完整代码
def send_sms():
    client = Client(twilio_account_sid, twilio_auth_token)
    send_count = 0
    for user_info in users:
        # 直接按键提取当前用户的对应字段
        username = user_info['User']
        phone = user_info['Number']
        remain_days = user_info['days']
        message = client.messages.create(
            to=phone,
            from_=twilio_from_phone_number,
            body=f'Hello {username}, you have {remain_days} days left to reset your password. -IT'
        )
        print(message.sid)
        send_count += 1
    self.app.log.info(f'Sent {send_count} sms msgs to users')
send_sms()
可选优化建议
  • 可以添加异常捕获逻辑,避免单个用户手机号无效、字段为空等问题导致整个发送流程中断
  • 发送前可增加阈值判断,仅给剩余天数为30/15/3的用户发送提醒,避免无效推送

内容的提问来源于stack exchange,提问作者troy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 01:48:04