私は、PDFをクライアントに生成してストリームするコントローラアクションを持っていますが、そのPDFダウンロードアクションの出力を添付ファイルとして電子メールで送信するコントローラアクションも必要です。私は電子メールを送信する方法を知っていますが、問題はどのように私の電子メールの添付ファイルのMVCダウンロードアクションを使用/キャプチャすることができますか?ASP.NET MVCは電子メールの添付ファイルを送信します
擬似コード:
public PdfResult Download(int? someId)
{
var pdfBuilder = new pdfBuilder();
var pdfStream = pdfBuilder.StreamPdf(someId);
return new PdfResult("someId.pdf", "application/pdf", pdfStream);
}
public ActionResult Email(int? someId)
{
var pdfStream = View("Download", someId);
var attachment = new Attachment(pdfStream, "someId.pdf");
//...send email code
}
あなたの「PdfBuilder」が既にある場合は、電子メールを送信するときにもう一度呼び出すのはなぜですか?コードを複製したくない場合は、pdf生成コードを第3の方法にリファクタリングしてください。 – rsenna
電子メールの送信には何を使用しており、添付ファイルには何が必要ですか。つまり、物理ファイルまたはファイルストリームが必要ですか? –
ただのSmptClient、典型的な.Netは電子メールメカニズムを送ります。 – VajNyiaj