【问题标题】:How to send .zip in attachment by email on exchange server?如何在 Exchange 服务器上通过电子邮件发送 .zip 附件?
【发布时间】:2011-03-30 10:13:08
【问题描述】:

伙计们,

我正在用 csharp 编码发送一封包含 .zip 文件(里面有 html 和 css)的电子邮件。当我检查收到的邮件时,实际上附件不是.zip文件,而是一个txt文件,并且有:

FILE QUARANTINED

The original contents of this file have been replaced with
this message because of its characteristics.
File name: 'xxxxxxx_Result.zip'
Virus name: 'Large uncompressed size'

交换服务器已阻止 zip 文件。我正在使用 CDO 创建和发送电子邮件。

我尝试使用代码发送带有WINZIP生成的zip文件的邮件,没有问题,然后我尝试使用outlook发送带有我的代码生成的zip文件的邮件(我使用sharpziplib库),出现问题...

如何正确发送附件?非常感谢!

艾伦

【问题讨论】:

  • 您确实需要与您的电子邮件管理员交谈...
  • 如果它因为“未压缩的大尺寸”而拒绝它,那可能是相对于压缩尺寸的未压缩尺寸。您可以通过减少压缩来解决此问题,即使用较低的压缩设置来降低比率。但你真的应该像 leppie 所说的那样与你的电子邮件管理员交谈。
  • 是的,我知道最简单的方法是与电子邮件管理员交谈。但是,我认为也许还有其他解决方案,感谢您的 cmets。

标签: c# email exchange-server attachment


【解决方案1】:

对于任何面临此问题的人,这里有一个解决方案。您必须明确设置 zipentry 的文件大小。

ZipEntry newEntry = new ZipEntry(fileName);
newEntry.DateTime = DateTime.Now;
newEntry.Size = fileData.Length; // setting data size

【讨论】:

    【解决方案2】:

    我在我们的网络上发送电子邮件时遇到了类似的问题。我发现使用替代压缩格式(例如 7-zip (.7z))足以让我的内容通过过滤器。如果块不是严格由大小引起的,这可以解决问题。

    【讨论】:

    • 这是因为大多数防病毒软件包和邮件服务器现在都内置了 zip 功能,允许它们打开文件并扫描内容,.7z 格式将无法识别。通常您可以通过将扩展名重命名为其他名称来避免这种情况,例如file.zi_ 但这将要求它在另一端重新命名,以便提取应用程序识别它。很多时候它们可以被删除,因为它们包含 exe 文件或 vbs 文件或类似文件。
    • @OneSHOT:没错。在我工作的地方,7-zip 是每个桌面图像的一部分。我发现格式化为 .7z 比向用户解释他们必须做什么才能使重命名的 zip 可用更方便。
    【解决方案3】:

    您的邮件服务器或垃圾邮件服务似乎已删除您的附件并将其替换为 txt 文件,听起来您的代码没问题,您需要与管理员讨论邮件过滤器和发送大小配额的问题!

    【讨论】:

      猜你喜欢
      • 2017-07-28
      • 2011-04-18
      • 2014-10-27
      • 2011-12-03
      • 2016-12-28
      • 2018-10-17
      • 1970-01-01
      • 2015-03-21
      • 2019-06-05
      相关资源
      最近更新 更多