ASP.. NET邮件附件不包含数据

本文关键字:包含 数据 ASP NET | 更新日期: 2023-09-27 18:16:19

我使用的是ASP。使用。NET 3.5和c#在帮助台上开发web应用程序。当用户提出投诉时,我会给管理员发电子邮件。

我的问题是当邮件与附件(word,excel,jpg,bmp等)

下面是我使用的代码示例:
MailMessage mm = new MailMessage();
mm.To.Add(mail1@abcd.com);
mm.From = new MailAddress("web@abcd.com");
if (FileUpload1.HasFile) /// for checking if mail has attachment
{
  mm.Attachments.Add(new Attachment(FileUpload1.PostedFile.InputStream, ileUpload1.FileName));
}
mm.body="Test Message";
 mm.IsBodyHtml = true;
 //neceessary credentials are specified in web.config file
 SmtpClient ss = new SmtpClient(); 
 ss.Send(mm);

ASP.. NET邮件附件不包含数据

要发送带有附件的邮件,必须首先将文件从文件加载器保存到服务器上,然后才能将其作为附件在邮件中发送。当前的问题是,您直接尝试从fileupload控件发送邮件中的文件。

一旦邮件带有附件发送,那么您就可以从服务器上删除保存的文件。

我怀疑你有这个问题,因为流的当前位置在末尾。

你可以试试fileupload1 . postdfile。在调用附件构造函数和add之前输入流

我实际上没有尝试验证,但我预计这是空的来源-流正在被读取到结束,但它已经在结束,因为读取内容将它带到了结束。我以前在流中见过类似的事情