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

Django邮件主题空格不显示:如何在日期前添加空格?

解决Gmail邮件主题空格丢失问题

当使用Python的Header类设置包含日期的邮件主题时,若出现"for"后空格在Gmail中消失的情况,可通过以下几种方法解决:

  • 方法1:提前拼接完整主题字符串并指定编码
    先将主题文本完整拼接好,再传入Header类并明确指定编码,避免空格被意外压缩:

    subject_text = f"Email Subject for {today.strftime('%d/%m/%y')}"
    msg['Subject'] = Header(subject_text, 'utf-8')
    
  • 方法2:使用现代邮件头处理类
    推荐使用Python 3.3+引入的email.headerregistry.UnstructuredHeader替代旧的Header类,它对空格的处理更符合现代邮件标准:

    from email.headerregistry import UnstructuredHeader
    
    msg['Subject'] = UnstructuredHeader(f"Email Subject for {today.strftime('%d/%m/%y')}", charset='utf-8')
    
  • 方法3:直接赋值主题字符串(无特殊字符场景)
    如果主题仅包含ASCII字符,可跳过Header类直接赋值,避免不必要的解析处理:

    msg['Subject'] = f"Email Subject for {today.strftime('%d/%m/%y')}"
    

问题原因

旧版Header类在处理纯ASCII字符串时,可能会对连续空格或特定位置的空格进行折叠压缩,导致Gmail显示时空格丢失。提前拼接完整内容或使用更现代的邮件头处理类,能确保空格被正确保留。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 04:55:57