フォルダー内のすべてのファイルを収集し、それらを 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;
}
}
}
}