为什么我们仍然有这么小的电子邮件附件文件大小限制?

Dre*_*rew 52 email attachment

在辉煌的 2011 年,阻止我们通过电子邮件相互发送 1GB 文件的技术限制是什么?

还是只是主要的电子邮件平台拖延了脚步?

如果我可以将收件箱设置为仅抓取标题,然后根据需要抓取完整的附件,有什么问题?

我觉得电子邮件附件大小停留在 1992 年...

Pis*_*ing 164

问题是这样的:电子邮件(SMTP/POP3/IMAP/what-have-you)是一种古老而简单的协议,最初用于在受信任的网络中发送纯文本消息。使用它在当今的 Internet 上发送或接收大量二进制数据是一种固定的攻击,与最初的用例完全不同,并且它在这个角色上的表现相当糟糕。

当您将文件附加到电子邮件时,它会采用 base64 编码,从而将其大小增加 1/3。因此,您的 1 GB 文件又变大了 300 MB;此外,下载协议没有内置压缩,因此无法加快传输速度(在某些情况下(SMTP 用于发送,POP3 用于接收),甚至无法恢复中断的传输 - 连接在 1.2 时中断GB?对不起,你需要重新传输一遍)。此外,SMTP 是一种存储转发协议。你猜怎么着?是的,需要跨多个服务器复制 1.3 GB 文件;来自邮件服务器管理员的无限快乐。

这是 1990 年代的一个问题,当时没有有用的替代方案(FTP?HTTP/1.0?Puh-leeze);但在辉煌的 2011 年,随着各种方式无缝地向/从云上传/下载数据(例如 Dropbox、Ubuntu One、Amazon S3,举个例子),借口“没有其他有用的方法来做到这一点” "不再是真的。

另请注意,并非每个人都使用 100 Mbit 的 Internet 链接——例如移动设备和智能手机;不是每一个邮件客户端可以只下载标题(如POP3仍是多大用处),而不是每一个用户愿意下载20不可避免“看看这个funneh 1 GB的视频”每那个星期的电子邮件将会出现。(人们会发送系统允许的尽可能大的文件;是的,大多数 ISP 都有类似 FUP 的东西)。

TL;DR:虽然在技术上可以执行诸如通过电子邮件发送 1GB 文件之类的操作,但在技术上也可以使用螺丝刀敲入钉子 - 这不是一个好方法,因为有更适合此类任务的工具。

  • +1 为 TLDR 版本:-) (15认同)
  • +1 这是一个非常好的答案:) (10认同)
  • +1 无法恢复中断的传输。 (3认同)
  • 我的电子邮件客户端喜欢使用 base64 编码的 1GB 文件。 (2认同)

mai*_*ilq 33

相同但观点略有不同:

电子邮件是电子邮件。你知道邮件是装在另一个小纸信封里的这种古老的纸东西。你可以在上面写很多文字,但不要超过 5 或 6 页。电子邮件是相同的,但是是电子的。它专为文本(如打字机上的纯文本)而设计。然后有一个 MIME 扩展,您可以在其中发送这些花哨的红色闪烁 HTML 邮件。

世界上没有人会抱怨说“哦,邮件卡在了公元 1322 年的样子。为什么我不能用纸信封寄一头大象?” 就是这样。对于这种东西,人们发明了诸如小包或运输容器之类的东西。这就是如何发送货物和大象。互联网人发明了 FTP(文件传输协议),得名了吗?

在现实世界中,有许多 FTP 替代方案,因为 FTP 也是一种古老的协议,具有很大的缺点(主要是在安全方面而不是在传输文件方面)。但是 HTTP不是替代方案,因为它是为带有元数据的集中式文档存储而开发的。您可以下载和上传文件是对它的残酷扩展。

所以用信发文字,用小包寄货;使用电子邮件发送信息和文件传输协议发送文件。


编辑:

为了留在图片中,我必须补充一点:即使您说服当地邮局接受纸信封中的大象(并支付额外费用),也有更多的各方参与运送大象。邮递员不得不把它带到下一个邮局,可能他没有合适的袋子让大象装进去。但也许他有并且想把它送到下一个邮局,邮局反过来说:我们不接受大象”。

那该怎么办呢?现实世界中的好邮递员会把大象带回第一个邮局——然后再回到寄件人那里。(在电子世界中,这将是一个糟糕的邮递员,因为他应该射杀大象并且只将死亡证明寄回给发件人)。

因此,即使您可以说服邮政交付链中的所有环节接受大象,您也面临着收件人。他可以说他想要大象,但信箱太小,大象装不下。导致大象送回寄件人。(更不用说如果大象不适合发件人的信箱会发生什么......)

  • 来吧*!只要有 `Content-Type: application/x-pachyderm` 标头,HTTP 就完全能够传输大象 ;) 优点,虽然我选择的协议是 `rsync` - 相当可用,允许压缩,增量同步、持续传输、*plus* 与 SSH 配合良好(用于身份验证+加密)。 (18认同)

Sha*_*den 17

在 Exchange 2007 的情况下,管理层订阅了“电子邮件大小没有限制”的理念:

一个内部用户向他们的 hotmail 地址发送了一条带有 .iso 音乐 CD 的消息。在处理消息时阻塞了一台传输服务器上的队列,点燃了背压,停止了消息提交。然后,用户的 Outlook 尽职尽责地将消息重新提交给正在运行的其他传输服务器;背压,没有消息提交。

由于两个传输服务器都阻塞在消息上,所有出站电子邮件都停止了大约 90 秒。当然,Hotmail 拒绝了该邮件。不久之后就有了尺寸限制。


jis*_*shi 5

这是另一种观点:

由于电子邮件一路上存储在多个实例中,因此发送一个 1 GB 的文件将一直使用数倍。

它通常是您客户端上“已发送项目”中的副本,如果使用 IMAP,则服务器上的副本也可能显示(在您的帐户中)。

然后接收端将保留一个副本(服务器),以及在接收端的本地客户端。如果使用 IMAP,则它不会在服务器上被删除(再次)。

单个 1GB 文件总共需要 4GB。当然,您可以将其视为备份,但也有更好的选择。更不用说由于用户邮箱无限增长而在服务器上可能发生的缓慢。

我刚刚意识到,如果文件是 base64 编码的,它会更大(我猜大约大 33%)。