从smtp服务器mvc 5成功发送后,电子邮件附件未打开

问题描述 投票:0回答:1

使用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);

}
jquery ajax asp.net-mvc-5 smtpclient
1个回答
0
投票

通过添加attachment.InputStream.Position = 0解决;

© www.soinside.com 2019 - 2024. All rights reserved.