我创建了一个方法来收集文件夹中的每个文件,然后将它们插入到zip文件中。然后将zip文件通过邮件发送给客户。我的问题是我可以发送附带zip文件的邮件消息没有任何问题,但如果另一个用户生成zip文件并发送它,它将如下所示。
尝试将excel文件附加到邮件时遇到了同样的问题。但我发现你必须设置你附加的文件的ContentType。添加此行后,ContentType ct = new ContentType("application/vnd.ms-excel");
为其工作的excel文件。
我的问题是我正在尝试附加一个zip文件,我正在使用这一行:`ContentType ct = new ContentType(“application / zip”);但这不起作用。我正在使用 DotNetZipLib-DevKit-v1.9 将文件添加到zip文件中。
这是我的代码:
public void SendMailedFilesVallensbaek()
{
string[] vallensbeakFileNames = Directory.GetFiles(vallensbaekFiles);
if (vallensbeakFileNames.Count() > 0)
{
ContentType ct = new ContentType("application/zip");
string zipFile = vallensbaekFiles+@"\someZipFile.zip";
using (ZipFile zip = new ZipFile())
{
foreach (string file in vallensbeakFileNames)
{
zip.AddFile(file);
}
zip.Save(zipFile);
}
using (System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient("ares"))
{
using (System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage())
{
msg.From = new MailAddress("system@mail.dk");
msg.To.Add(new MailAddress("lmy@mail.dk "));
msg.Subject = "IBM PUDO";
msg.Body = "Best Regards";
msg.Body += "<br/>";
msg.Body += "me";
msg.IsBodyHtml = true;
Attachment attachment = new Attachment(zipFile, ct);
msg.Attachments.Add(attachment);
//foreach (string file in sentFiles)
//{
// Attachment attachment = new Attachment(file, ct);
// msg.Attachments.Add(attachment);
//}
client.Send(msg);
client.Dispose();
msg.Dispose();
ct = null;
}
}
}
}
答案 0 :(得分:0)
您应该检查是否在本地文件夹中创建了zip文件 并且ASP.NET用户可以访问您的本地文件夹。