Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在exchange server上通过电子邮件发送.zip附件?_C#_Email_Exchange Server_Attachment - Fatal编程技术网

C# 如何在exchange server上通过电子邮件发送.zip附件?

C# 如何在exchange server上通过电子邮件发送.zip附件?,c#,email,exchange-server,attachment,C#,Email,Exchange Server,Attachment,该死的家伙 我正在用csharp编写代码来发送一封包含.zip文件(里面有htmls和css)的电子邮件。当我检查收到的邮件时,实际上,附件变成了txt文件,而不是.zip文件,并且具有: FILE QUARANTINED The original contents of this file have been replaced with this message because of its characteristics. File name: 'xxxxxxx_Result.zip' V

该死的家伙

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

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'
exchange服务器已阻止zip文件。我正在使用CDO创建和发送电子邮件

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

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


Allen

看起来您的邮件服务器或垃圾邮件服务已经删除了您的附件,并将其替换为txt文件,听起来您的代码很好,您需要与管理员联系邮件过滤器和发送大小配额

看起来您的邮件服务器或垃圾邮件服务已经删除了您的附件,并将其替换为txt文件,听起来您的代码很好,您需要与管理员联系邮件过滤器和发送大小配额

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

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

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

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

对于任何面临这个问题的人来说,这里有一个解决方案。必须显式设置zipentry的文件大小

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

你真的需要和你的电子邮件管理员谈谈……如果它因为“大的未压缩大小”而拒绝它,那可能是相对于压缩大小的未压缩大小。您可以通过减少压缩来解决此问题,即使用较低的压缩设置来降低比率。但是你真的应该像leppie说的那样和你的电子邮件管理员谈谈。是的,我知道最简单的方法是和电子邮件管理员谈谈。但是,我还是认为可能有其他解决方案,谢谢你的评论。你真的需要和你的电子邮件管理员谈谈……如果它因为“大的未压缩大小”而拒绝它,这可能是相对于压缩大小的未压缩大小。您可以通过减少压缩来解决此问题,即使用较低的压缩设置来降低比率。但是你真的应该像leppie说的那样和你的电子邮件管理员谈谈。是的,我知道最简单的方法就是和电子邮件管理员谈谈。但是,我还是认为可能有其他的解决方案,感谢您的评论。这是因为大多数反病毒软件包和邮件服务器现在都内置了zip功能,允许它们打开文件并扫描内容,因此.7z格式无法识别。通常,您可以通过将扩展名重命名为其他文件(例如file.zi)来避免这种情况,但这需要在另一端将其重新命名,以便提取应用程序识别它。由于它们包含exe文件、vbs文件或类似文件,所以很多时候可以删除它们。@OneSHOT:这是正确的。在我工作的地方,7-zip是每个桌面映像的一部分。我发现将.7z格式设置为更方便,而不是向用户解释如何使重命名的zip可用。这将是因为大多数反病毒软件包和邮件服务器现在都内置了zip功能,允许他们打开文件并扫描内容,因此无法识别.7z格式。通常,您可以通过将扩展名重命名为其他文件(例如file.zi)来避免这种情况,但这需要在另一端将其重新命名,以便提取应用程序识别它。由于它们包含exe文件、vbs文件或类似文件,所以很多时候可以删除它们。@OneSHOT:这是正确的。在我工作的地方,7-zip是每个桌面映像的一部分。我发现将格式设置为.7z比向用户解释如何使重命名的zip可用更方便。