MVC WebMail帮助程序 - 是否可以发送带附件的电子邮件而不首先保存它们?

时间:2013-09-03 23:58:47

标签: c# asp.net-mvc

这可能吗?

我正在使用MVC WebMail助手从表单发送电子邮件,用户可以使用文件输入添加附件

    WebMail.Send(
            to: email.To,
            cc: email.CC,
            bcc: email.BCC,
            replyTo: email.ReplyTo,
            subject: email.Subject,
            body: email.MessageBody,
            filesToAttach: email.Attachments,
            isBodyHtml: email.IsBodyHtml
    );

我得到一个FileNotFound异常显然我可以先保存这个附件,发送电子邮件,然后返回并删除它,但我想知道是否有办法避免必须这样做。我记得在WebForms中可以使用FileUpload控件和System.Net.Mail的附件系统。有什么建议?谢谢!

1 个答案:

答案 0 :(得分:2)

是System.Web.Helpers.WebMail.cs的源代码

http://aspnetwebstack.codeplex.com/SourceControl/latest#src/System.Web.Helpers/WebMail.cs

看起来辅助方法只支持文件路径。

如果您希望能够从内存中的文件发送附件,则必须直接使用MailMessage和SmtpClient。

message.Attachments.Add(new Attachment(postedFile.Stream, postedFile.Name, postedFile.ContentType));