欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

QMQP: The Quick Mail Queuing Protocol  

程序员文章站 2022-07-14 14:11:37
...
http://cyberdesk.com/wiki/qmail/qmqp

http://cr.yp.to/proto/netstrings.txt

QMQP 的基础是 netstring 格式。假设要把 hello world! 封装为 netstring 格式:
1)先得到这个字符串的长度,12
2)按如下的顺序把长度和内容拼接起来:长度,冒号,内容,逗号

按上面的步骤处理之后,结果如下

netstring( hello world! ) = 12:hello world!,


netstring 可以嵌套。多个 netstring 可以按顺序拼接起来,然后把这个拼接的结果作为一个待封装的内容,再次进行 netstring 封装。

393:30:Message body...,15:Fsender_address...,26:Trecipient_address,,


从上面的内容可以看出,netstring 格式有些类似 TLV(Tag-Length-Value),但是没有用到 Tag 这一部分。

在 QMQP 协议中,协议的内容就是一个嵌套的 netstring 。这个嵌套的 netstring 中,包含了邮件内容,发件人,收件人列表。由于 netstring 没有用到 Tag ,因此协议内容中的 netstring  是根据顺序来表示含义的。第一个 netstring 是邮件内容,然后是发件人,接着是收件人列表。