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

使用MIME发送短信时内容末尾两位字符丢失问题排查

消息末尾两位字符被截断的原因及解决方案

可能原因

  • 短信网关解析异常:多数运营商的邮件转短信服务依赖标准MIME格式的邮件内容。你的代码使用MIMEMultipart包裹纯文本,但如果文本内容末尾没有标准换行符(\r\n),网关可能会将最后两个字节错误识别为不完整的换行标记,直接丢弃。
  • MIME编码的隐形处理:msg.as_string()生成的邮件内容会自动进行MIME编码,若原始文本结尾无换行,编码后的内容末尾会出现不完整的字节序列,被SMTP服务器或网关截断两位。

解决方案

  1. 给消息内容添加结尾换行
    修改消息定义行,手动添加标准换行符:

    message = "It's chicken time\r\n"
    
  2. 简化邮件结构,改用纯MIMEText
    由于你只发送纯文本内容,无需使用MIMEMultipart,直接用MIMEText构建邮件可以避免多余的格式解析问题:

    # 替换原有的MIMEMultipart相关代码
    msg = MIMEText(message, 'plain')
    msg["Subject"] = "Chicken Alarm"
    msg["From"] = email
    msg["To"] = recipient
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 10:34:57