使用formdata中的ajax向控制器发送文件后,我发送带附件的电子邮件。电子邮件发送成功但当我打开该电子邮件以在我的电子邮件帐户中查看时,附上电子邮件但未打开显示错误消息
显示此图像时出现问题
List < HttpPostedFileBase > attachments = new List<HttpPostedFileBase>();
HttpPostedFileBase frontimage = null;
foreach(string fileName in Request.Files)
{
frontimage = Request.Files["frontimage"];
}
attachments.Add(frontimage);
using(MailMessage mm = new MailMessage("[email protected]", "[email protected]"))
{
mm.Subject = "Test Email";
mm.Body = "test";
foreach(HttpPostedFileBase attachment in attachments)
{
if (attachment != null) {
string fileName = Path.GetFileName(attachment.FileName);
mm.Attachments.Add(new Attachment(attachment.InputStream, fileName));
}
}
mm.IsBodyHtml = false;
SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.gmail.com";
smtp.EnableSsl = true;
NetworkCredential NetworkCred = new NetworkCredential("username", "password");
smtp.UseDefaultCredentials = true;
smtp.Credentials = NetworkCred;
smtp.Port = 587;
smtp.Send(mm);
}
通过添加attachment.InputStream.Position = 0解决;