ロタティバを使用しています。MVC を使用してビューから PDF を生成するため、PDF を添付して電子メールを送信できます。次のコードはそうします:
var p = ControllerContext;
var h = new ViewAsPdf("Index") { FileName = "TestViewAsPdfHm.pdf" };
var hmm = h.BuildPdf(p);
var memStream2 = new SysIO.MemoryStream(hmm);
MailMessage mm = new MailMessage("From@gmail.com", "To@gmail.com");
mm.IsBodyHtml = true;
mm.Attachments.Add(new Attachment(memStream2, "BuildPdfOption.pdf"));
私の質問は、「MVC アプリケーションの Content/Pdf フォルダーに保存されている PDF ファイルを C# コード内から取得して、同じ方法で電子メールに添付するにはどうすればよいですか?」ファイル、ストリームリーダー、およびHttpContext.Server.MapPathで何度も試しましたが、成功しませんでした。MapPathオプションを使用すると、電子メールに開くことができないテキスト ドキュメントが含まれていました。