0

我已经使用ICSharpCode.SharpZipLib.Zip库来创建 Zip 文件,它工作正常,但是当我将此 Zip 文件附加到邮件附件时,由于附加的 zip 文件,邮件不会发送,

这是将 zip 文件附加到邮件的代码

System.Net.Mail.Attachment attachment = null;
                try
                {
                    MemoryStream memoryStream = new MemoryStream();
                    attachment = new System.Net.Mail.Attachment(memoryStream, "test.zip");
                }
                catch (Exception e)
                {
                    return false;
                } 

请知道我如何通过邮件发送 zip 文件?

4

2 回答 2

1

你的代码

MemoryStream memoryStream = new MemoryStream();
attachment = new System.Net.Mail.Attachment(memoryStream, "test.zip");

传递了一个 Stream,但该 Stream 是空的( 中没有任何内容memoryStream)。

如果要使用 MemoryStream,则必须将 ZIP 文件的内容读入内存。如果 ZIP 已在磁盘上,您也可以使用 FileStream。

如果使用 MemoryStream,请确保将其位置设置为 0。

memoryStream.Position = 0;

根据您使用 SharpZipLib 的方式,您可能有权访问ZipOutputStream。如果你这样做,我认为你可以使用它。

于 2013-02-12T06:41:12.540 回答
0

这个问题可能有很多原因,

  1. 检查文件日期和时间
  2. 文件大小(基于服务器设置)
  3. 尝试不同的格式(rar、7z 等)
于 2013-02-12T06:41:41.723 回答