C#使用gmail创建和发送Zip文件
本文关键字:Zip 文件 使用 gmail 创建 | 更新日期: 2023-09-27 18:21:35
我正在尝试使用C#压缩和发送.csv文件。我创建文件,压缩它们,并使用SMTP Gmail主机发送它们。
有时,这封电子邮件可能需要几个小时才能到达目的地。对于测试,我使用的是非常小的文件,所以大小不是问题。
如果我尝试使用gmail"手动"发送这些zip,我会收到以下错误:"myFile.csv.zip包含一个可执行文件。出于安全原因,Gmail不允许您发送这种类型的文件。"
我认为我的压缩方法可能有问题,但它非常直接:
string compressedFile = fileName + ".zip";
FileInfo fi = new FileInfo(fileName);
using (FileStream inFile = fi.OpenRead())
{
using (FileStream outFile = File.Create(compressedFile))
{
using (GZipStream Compress = new GZipStream(outFile, CompressionMode.Compress))
{
inFile.CopyTo(Compress);
Compress.Close();
}
outFile.Dispose();
}
}
return compressedFile;
只是一个提示:如果我采取相同的文件,并手动压缩或rar它,我没有问题。文本文件也会出现这种情况。
MSDN报价:
写入扩展名为.gz的文件的压缩GZipStream对象可以使用许多常见的压缩工具进行解压缩
GZip文件并不是真正的"zip"文件。他们通常使用"gz"作为文件扩展名。你可以试试,也许Gmail对"匹配"扩展和压缩格式非常严格。
如果您使用的是.NET 4.5,您也可以使用ZipArchive类。那个实际上处理"zip"文件。