什么是通过电子邮件发送zip文件最可靠的方法?

我经常有客户邮寄给我的zip文件只是为了发现他们的企业防火墙已经剥离了附件。 通过电子邮件发送压缩文件的最直接的方法是什么?避免让你的附件被过分的防火墙剥离?

为了澄清,我并不担心发送文件,因为我可以在自己的Web服务器上托pipe它们进行下载。 我正在寻找一个好的,简单的解决scheme,让客户的电子邮件文件给我。

为了进一步说明:由于我控制了在脱机客户端系统上运行的软件,并且我控制了数据文件的创build方式,所以我仍然希望探索如何打包数据以使其尽可能简单邮件具体。 我想避免要求我的客户安装任何额外的软件或使用第三方网站。

我认为你的encryption方法实际上是正确的。 部分问题在于,encryption的zip文件仍然是zip文件,可能会因为这个原因而被某些防火墙阻止。

让你的软件压缩数据,然后encryption文件,但不在zip框架内。 你将最终得到一个不会出现在防火墙中的禁止文件types的文件。 一个简单的replace密码可能就足够了。 保存没有扩展名的文件。

  • 客户端:数据 – >压缩 – > rot128 – >转储文件
  • 客户端发送“转储文件”作为附件
  • 你的结局:dumpfile – > rot128 – >解压缩 – >享受

通常我所做的只是将file upload到可从服务器下载内容的地方。 这样,它也不会阻塞他们的收件箱。

如果空间不足, Dropbox是一个非常棒的服务,它可以免费提供2GB的公共可用空间(也是很棒的同步工具!)。

更新:似乎我最初误解了你的问题; 你实际上是问客户给你的文件,而不是你给他们的文件。 无论如何,我的答案依然如此。 如果他们精通技术,那么build立一个可以上传东西的SFTP服务器。 但是,使用Dropbox仍然是一块蛋糕。 为每个客户端设置一个共享文件夹,然后他们可以将文件放在文件夹中,文件将自动同步到您的计算机上。

我发现发送一个.7z文件或发送一个FILE.zip.potato运气 。 然后,我指示收件人将文件重命名为.zip。 它的工作出奇的好。

你会想,更多的电子邮件客户端/服务器将检查,看看它是什么types的文件,但我想这个问题不是发送zip文件,它发送zip文件中的病毒。 如果收件人必须重命名文件才能使其工作,他们必须相当了解他们在做什么,所以他们不可能不小心重命名,提取和运行病毒。

有很多文件发送服务可以通过他们的网站接收上传的文件,并会发送给你一个链接去下载它。 这使得处理电子邮件服务器的文件变得紧张。 一个这样的服务是SendThisFile 。

我认为你有一个社会问题,而不是技术问题。

如果我正确地阅读你的问题,你会有许多客户不时地发送你的文件(压缩),其中很大一部分不能归功于他们的企业防火墙。 如果我有这个正确的话,我build议你需要向你的客户说清楚,这是他们的公司防火墙正在过度渴望,他们需要包括他们的防火墙维护者和最重要的策略设置者讨论。

大多数体面的IT安全人员会理解这个问题,并且会理解被包括在寻找解决scheme中,而不是被绕开。 这意味着他们会帮助。 假设你的客户实际上拥有体面的IT安全人员,这当然不是。 : – /

没有100%的解决scheme。 例如,我的垃圾邮件/恶意软件探测器不仅查看文件扩展名,还查看文件types 。 将zip重命名为.zi_将不起作用,因为它“闻到”zip(查看文件的结构和指纹)。 双重扩展不仅被简化为“内部”扩展(再一次,它被名称捕获),但它们也被扩展了。 它可以自动将拉链拉伸到12级以上(同时避免使用拉链炸弹),因此在拉链内隐藏拉链也不起作用。 即使作为EXE文件到达的自动提取器也会以相同的逻辑进行自动扩展。

任何时候,你都可以隐藏邮件中的东西来“绕过扫描仪”,攻击者也可以这样做。 这不是一件好事(tm)。 虽然目前这种做法并不常见,但大约2 – 3年前,病毒有效载荷被压缩然后发送的情况非常普遍,很清楚,许多男性最终用户无法抗拒“See barely – 在你的工作电脑上私下穿衣服的女人,只是解压缩并运行程序“,最终导致IT员工的混乱。 对你来说是一个很大的烦恼,是pipe理员为了自己的理智而在别处提出的安全措施。

对于某些站点来说,允许使用zip文件就好了,因为安全问题并不是很好,或者机器locking得很好,并且有很强的扫描防御能力。 对于其他人来说,它可能是一个定时炸弹,等待在没有桌面扫描的软目标networking上消失。 还有一些网站可能会禁止它们,因为它们不希望最终用户从外部引入程序,这可能会干扰企业所需的应用程序所需的特定configuration。

我们现在仍然会收到病毒警告,是的,有些是压缩的。

我会在其他地方托pipe文件,并通过适当访问的人用网页浏览器提取。

如果你的客户是技术性的,并且会理解这里列出的build议和答案,那么你很好。

你可以尝试发送一个电子邮件与锅炉板文本的步骤,以遵循发送给你的文件。 他们将有回应,并希望所有的答案可能的问题。 不要忘记自定义主题行,以便您可以在回复中find个人回复。 也许甚至可以运行一个小应用程序,同时按需要发送这样的电子邮件(通过电话或IM与客户端)。

但是,如果你的客户不太专业(那种在幻灯片中embedded屏幕截图的那种),那么你还有其他麻烦。 其他build议很可能会造成很多混乱,并产生更多的问题。 在这种情况下,用自定义网站(或页面)直接向上传送文件(或者至less看起来像直接传给你),可能会更好。 有些客户可能会对将他们认为敏感的数据放在看起来是公共网站的网站上有所保留,即使这些网站确实是安全的。 他们会更直接地处理您的网站而不是第三方。

我提出的一个解决scheme是让他们使用带有密码(AES-256encryption)和7z格式的7-zip而不是zip。 它工作了一次,但不知道我是否幸运。

重命名文件扩展名是我尝试的第一件事,但没有帮助。

最好的办法是不要把它放到网上,而是把它上传到许多文件托pipe网站之一。 绕过他们的防火墙和防病毒没有傻瓜certificate的方式。

您可以尝试使用uuencoding或base64编码,以避免邮件网关删除多部分MIME附件

cat testfile | uuencode | mail [email protected] 

由于我对FogBugz重命名“可疑”文件和添加.unsafe扩展的经验,我通常会发送带有.unsafe扩展名的所有二进制附件,并指示用户重命名它。

使用诸如.unsafe的扩展名是不太可能与任何其他程序相关联的扩展名,因此,即使用户“隐藏已知文件types的扩展名”,也会在Windows资源pipe理器中显示该扩展名。 此外,这些文件扩展名将不会被Outlook阻止。

防火墙没有任何解决scheme来查看文件types而不是扩展名,这些更有可能阻止types与扩展名不同的地方。 唯一的解决方法是使用服务

最重要的是, 使用.unsafe方法可以获得GMailfilter 。 我们的大部分员工都会在服务器端将自己的电子邮件抄送到Gmail,所以如果我们将可执行文件包含在ZIP中,并且将其复制到Gmail帐户,我们将从各种内部邮件列表中随时跳出。

我已经使用YouSendIt发送超过20 MB的zip文件。 正如贾斯汀·斯科特所说,有几家公司提供这些服务。

当压缩文件被客户端的防火墙清除时,最好的select是问一个SFTP帐户。 我有过这样的经历。 解决scheme是SFTP 😉

因为我可以控制在客户端系统上运行的软件,并控制数据文件的创build方式

你不指定他们正在运行什么样的软件,但这接近了一个“正常”的事情…

从你的软件,为什么不联系你的服务(例如WCF),并发送附加文件(或日志文件,或任何你认为可以帮助你解决任何问题,这个文件将做),我可以给你一个消息例:

SuperOffice CRM作为Logs组下的“SendToSuperOffice”程序集文件(包括Windows和Web版本)中的一个选项,如果设置为true,则它们将从客户端软件获取具有数据库密钥(客户端序列号)和所有的错误和故障,并以这种方式帮助客户…无需把客户端发送文件或信息巫婆是很棒的处理最终用户,有些人甚至有问题,即使如何发送一个文件内的电子邮件!

这是完全离开墙壁,可能不是一个理想的解决scheme,但考虑编写一个小型独立的应用程序,需要一个文件作为input,并写入该文件的全部字节与0xFF XORed的新副本 。 也许给它相同的path,但有一个额外的扩展名.dat。 客户可以将其放在桌面上,只需将文件拖放到桌面上即可。 Windows应该以源文件的完整path名作为参数运行程序。

这应该不过是编码一半的几十行代码。

是吗? 是吗? 我知道,对吧! 我能说什么,我们都是半程序员。

我把file upload到senduit 。 你可以在那里存储一个星期,完全免费。 您最多可以上传100MB,并且不需要软件。

我们使用共享文件 ,这不是免费的,但它确实让人们很容易发送文件。 您可以发送一封电子邮件给.sharefile.com /(该网站可以有自己的品牌,如果您担心它看起来像第三方网站),他们可以通过HTTP上传文件。

我们需要这个来允许客户发送大文件(范围在100mb到2gb之间),而且由于防火墙策略的原因,设置和ftp服务器不是一个选项。

如果你正在寻找一个客户解决scheme,这显然需要尽可能简单和简单。 由于通过电子邮件发送ZIP文件本质上是不可靠的,并要求客户通过FTP上传是麻烦的,基于Web的file upload将是最熟悉和可靠的方法。 YouSendIt的Business Plus计划在这里非常合适。

  • 托pipe的Dropbox页面,客户可以向您发送文件
  • 品牌页面和电子邮件,以配合您的业务

YouSendIt的SiteDrop插件创造了最好的体验,在我看来。 客户可以使用embedded式上传器直接在您的网站上传文件,上传完成后,您和他们都可以收到确认电子邮件。

如果我的阅读正确,那么请问您的客户如何在您的防火墙正在过滤zip文件时可靠地向您发送zip文件,而无需客户安装任何其他软件。

假设防火墙实际上检查文件结构,而不仅仅是扩展名,你不能。 不受这些限制。

我们可以build议其他解决scheme(encryption文件,使用防火墙不理解的压缩程序,修复防火墙等),但不知道防火墙如何实际进行过滤的更多信息,是不可能知道他们是否“帮帮忙 几个基本问​​题:

  • 什么使/防火墙是什么?
  • 为什么它“有时”剥离附件? 为什么不总是?
  • 防火墙可以检查哪些附件?
  • 防火墙对未知的附件types做了什么?
  • 为什么你不能停止剥离附件?

根据我们目前的信息,正确的答案是停止剥离附件或使用非电子邮件解决scheme。

这个问题已经很长时间了,但却偶然发现了这个问题,也让其他人发现了这个问题:我使用的一个解决scheme就是encryption邮件本身。 在Apple的Mail.app上执行操作很简单,而且在Outlook上看起来也很简单。 它确实依靠双方拥有数字证书 – 您可以从http://www.comodo.com/home/email-security/free-email-certificate.php免费获得个人使用(或小额费用) 。 – 当然还有许多其他数字证书提供商。 我只是select了Comodo,因为这是我使用的。

我通常只是将zip文件重命名为.zi_,并告诉他们将_改成p。 还没有让我失望。

-don

如果您不想绕过数据检测,则可以使用隐写术 – 即(最常见)图像文件中隐藏文件。 有许多免费应用程序的链接,可以在维基百科链接上为你做这个。

恕我直言,去除.zip或任何其他压缩档案的防火墙/邮件服务器是处理这个问题的错误方式。 为了“保护”0.01%的外部用户的安全性,这些系统pipe理员正在惩罚剩下的100%的内部用户。

良好的防病毒(客户端和服务器端)是一个很好的解决scheme。

我为一家公司(4000名员工)工作,允许使用.zip附件,几乎没有人遇到任何病毒/恶意软件问题。

一个丑陋的,但可行的解决scheme,因为你控制交换的两端,基本上是自己的MIME滚动:发送一个电子邮件是纯文本的,就SMTP而言,base64编码的数据包含在你自己的分隔符和你的自己的内容描述标记。

您的问题具体表明希望他们通过电子邮件发送给您。 如果这是一个要求,真的没有万无一失的解决scheme。 电子邮件不是为移动大块数据而构build的!

您可以打开Web服务器上的FTP(或SFTP)服务器。 如果您使用的是IIS,那就很简单。 您可以为用户设置用户,并启用基于Web的file upload。

如果你不是在讨论发送文件 ,只接收文件 – 那么你不要控制自己的邮件filter? 你不能调整它,以允许具体的内容? (发送邮件服务器通常不会剥夺任何附件,只有收件人)

邮件扫描程序通常会打开任何types的压缩附件,以便扫描附件的内容。 未知的压缩技术可能会导致文件被隔离 。 但通常也有一组被禁止的分机 不允许接收。 (如.exe,.bin等)。 一些邮件filter会反弹这些,另一些则会去除附件。

不知道这是否有帮助。

问题 – 没有100%的解决scheme可以解决所有人的问题

你不会find一个万无一失的方式来通过电子邮件发送zip文件,适用于每个人。 一些地方有白名单 – 他们阻止每个附件,除了一些他们严格扫描。 其他地方不关心文件名,他们扫描文件本身,如果它在内部看起来像一个zip文件,然后他们仍然会阻止它。

如果你用一个单独的encryption程序encryption文件(密码保护或encryption的zip文件仍然可以检测到),那么将文件名改为无害的,然后在很多情况下,它会通过,但是你要求你的客户遵循几个步骤 – 这增加了摩擦,你会失去客户。

通常你甚至不能这样做,因为他们不能运行或者安装他们的系统中没有的软件。

您最好的select是提供另一个低摩擦的渠道供人们使用。

解决scheme – Web表单上传(简单,便宜,方便您和客户)

使用上传button和网页表单设置网站。 指导有此问题的用户使用Webform上传版本。

在这一点上,你甚至可以通过电子邮件发送给你的文件作为附件,所以它是无缝的。

一个简单,便宜的虚拟主机每月只需要花费几块钱(如果你想要花费很less的钱,就可以免费)。 非常低的摩擦力为您的客户。

代码示例

如何使用文件附件创build基于PHP的电子邮件表单

-亚当

让他们将file.zip重命名为file.zip。