有效电子邮件的最小字节数(不是特定于编程语言)
所以我刚刚通过一个教程来回答有关基本电子邮件格式/结构的部分问题。我开始使用以下命令
$ nc -C {smtp-server-fqdn} 25
这是一个对话的转储{参数化的秘密省略}
220 {smtp-server-fqdn} ESMTP
EHLO {yourdomain.ext}
{smtp-server-fqdn}
250-PIPELINING
250-SIZE 40960000
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250 8BITMIME
HELO {yourdomain.ext}
250 {smtp-server-fqdn}
AUTH LOGIN
334 VXNlcm5hbWU6
{username|base64}
334 UGFzc3dvcmQ6
{password|base64}
235 2.7.0 Authentication successful
MAIL FROM: <someone@sender-fqdn>
250 2.1.0 Ok
RCPT TO: <someone@recipient-fqdn>
250 2.1.5 Ok
DATA
354 End data with <CR><LF>.<CR><LF>
From: "{VanitySenderName}" <someone@sender-fqdn>
To: "{VanityRecipientName}" <someone@recipient-fqdn>
Subject: {subject}
Date: {date}
{message body}
.
250 2.0.0 Ok: queued as {identifier}
QUIT
221 2.0.0 Bye
<ctrl>+<c>
所以打破这个
电子邮件有效负载本身(在DATA
之后的行,直到.
)至少需要75个字节
From: <a@b>
To: <a@b>
Subject: c
Date: Sat, 20 Apr 2019 13:25:00 +0100
d
.
老实说,这几乎不是一封有效的电子邮件。根据https://tools.ietf.org/html/rfc5322#page-21,它确实有两个额外的字段。它是一个从,到,主题,日期和正文。如果缺少任何这些,我认为您的电子邮件提供商应该拒绝它们。
我用真实的电子邮件和提供商(dreamhost)发送测试的实际正文是151字节,因为电子邮件是真实的,域名比字符长。
更有趣的是,信封占用了468个字节(对于带有auth的真实电子邮件,不包括服务器响应),但理论上可能更小(146字节,单字符域没有扩展名,仅适用于实验室+内部)
EHLO c
HELO c
AUTH LOGIN
a
b
MAIL FROM: <a@b>
RCPT TO: <a@b>
DATA
From: <a@b>
To: <a@b>
Subject: c
Date: Sat, 20 Apr 2019 13:25:00 +0100
d
.
QUIT
它的<1KB非常适合嵌入式,但也缺少传输开销,并且缺少多个功能,例如多部件支持。
您需要做的就是为自己配备一个用于打开连接的套接字库,base64编码器(用于普通用户+密码),日期字符串生成实用程序和基本的命令行技能。
这绝不是一个完整的答案,但它回答了两个案例,其中包含了必要的注意事项,以便了解初学者,掌握技术。
这似乎不是一个编程问题,对吧?可能想澄清,或者它会被关闭。
每种情况下都有几十个字节。最小有效消息为40-45字节,附件更接近100。有些取决于你的计算方式,例如:当消息是50个字节时,是否包含IMAP / POP登录过程的字节非常重要。
Date: 0:00:00 1 May 2019 -0000
From: [email protected]