1

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

1 に答える 1

0

zip ファイルがローカル フォルダーに作成されているかどうか、ローカル フォルダーに ASP.NET ユーザーがアクセスできることを確認する必要があります。

于 2013-03-22T10:54:25.603 に答える