电子邮件最小大小(字节)

问题描述 投票:0回答:2

有效电子邮件的最小字节数(不是特定于编程语言)

  • 独立原始文本(仅1个字节的附件,主题和正文)
  • 通过SMTP发送(协议开销+电子邮件大小)
  • 通过POP3接收(协议开销+电子邮件大小)
  • 通过IMAP接收(协议开销+电子邮件大小)
  • mime multipart作为第一种情况,但有两个用于text / plain和text / html的主体和一个带有1个字节文件的附件主体
email smtp byte imap pop3
2个回答
1
投票

所以我刚刚通过一个教程来回答有关基本电子邮件格式/结构的部分问题。我开始使用以下命令

$ 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编码器(用于普通用户+密码),日期字符串生成实用程序和基本的命令行技能。

这绝不是一个完整的答案,但它回答了两个案例,其中包含了必要的注意事项,以便了解初学者,掌握技术。


0
投票

这似乎不是一个编程问题,对吧?可能想澄清,或者它会被关闭。

每种情况下都有几十个字节。最小有效消息为40-45字节,附件更接近100。有些取决于你的计算方式,例如:当消息是50个字节时,是否包含IMAP / POP登录过程的字节非常重要。

Date: 0:00:00 1 May 2019 -0000
From: [email protected]
© www.soinside.com 2019 - 2024. All rights reserved.