代码之家  ›  专栏  ›  技术社区  ›  Brandon

我应该将电子邮件消息ID存储为哪种SQL Server数据类型?[副本]

  •  0
  • Brandon  · 技术社区  · 7 年前

    RFC-2822 Wikipedia "Message-ID" 以及 this SO question ,以及其他不同的地方。我能找到的最接近的答案是“998个字符”,因为这是规范允许internet消息(来自RFC-2822)中每一行的最大长度,并且消息ID字段不能是多行。

    998个字符是最终答案吗?没有这样的限制吗?

    0 回复  |  直到 9 年前
        1
  •  14
  •   Jani    10 年前

    如果我对电子邮件有一点了解的话,那一定是它是一个大规模的分布式系统 fuzzing robustness principle 记住。

    这样一来,我认为符合RFC的最大消息ID长度是995个字符。

        2
  •  3
  •   tadman    7 年前

    实际上没有限制

    RFC2822 定义这些产品:

    message-id      =       "Message-ID:" msg-id CRLF
    
    msg-id          =       [CFWS] "<" id-left "@" id-right ">" [CFWS]
    
    id-left         =       dot-atom-text / no-fold-quote / obs-id-left
    
    obs-id-left     =       local-part
    
    local-part      =       dot-atom / quoted-string / obs-local-part
    
    quoted-string   =       [CFWS]
                            DQUOTE *([FWS] qcontent) [FWS] DQUOTE
                            [CFWS]
    
    CFWS            =       *([FWS] comment) (([FWS] comment) / FWS)
    
    FWS             =       ([*WSP CRLF] 1*WSP) /   ; Folding white space
    

    所以 id-left 可以是 local-part 可能是 quoted-string FWS ) 所以你可以根据需要把它折叠几次以适应任意的 由RFC提供。

    推荐文章