使用带附件的ASP.NET MVC3发送电子邮件

时间:2012-08-09 20:50:57

标签: c# asp.net-mvc-3 itextsharp

我到处搜索,但没有找到任何解决方案。 问题是:我正在尝试从ASP.NET MVC3应用程序发送带有附件的电子邮件。问题是:附件是(或应该是)使用iTextSharp创建的pdf文件。我已经在Controller中有一个返回ActionResult的方法,这个方法产生一个pdf响应。问题是:如何从这个ActionResult获取文件?

2 个答案:

答案 0 :(得分:1)

将生成PDF fike流的代码移动到一个方法,您可以在许多地方重新使用并在创建附件时使用

public Byte[] GetGeneratedPDF(string someParameter)
{
   //Do your magic to create the PDF and return the byte array

}

现在您可以调用此方法来创建Attachement

MailMessage msg = new MailMessage();
MemoryStream stream = new MemoryStream(GetGeneratedPDF("hi"));
Attachment att1= new Attachment(stream, "stack123.pdf");
msg.Attachments.Add(att1);

答案 1 :(得分:0)

使用您在“PDF生成操作方法”中使用的相同逻辑,并将Stream(或任何iTextSharp返回)作为附件添加到您的邮件中:

message.Attachments.Add(new Attachment(stream, "name", "mimeType"));