1

我有一个 Web 应用程序,它从一个 gmail 帐户向另一个帐户发送电子邮件,以通知我我的网站上发生了事件。在本地工作,它按预期工作,我能够按预期发送带有正文、主题和附件的电子邮件。但是,当我部署我的应用程序以删除附件时,没有任何迹象表明电子邮件已在任一电子邮件上进行了修改。

这是用于发送电子邮件的代码:

 using (MailMessage mail = new MailMessage())
        {
            try
            {
                if (userImageStream.Length > 0)
                {
                    mail.Attachments.Add(new Attachment(userImageStream, "Customer.jpg", "image/jpeg"));
                    
                }
                if (exImageStream.Length > 0)
                {
                    mail.Attachments.Add(new Attachment(exImageStream, "Example.jpg", "image/jpeg"));
                   
                }
            }
            catch (Exception ex) { }
            mail.From = new MailAddress(maileraddress);
            mail.To.Add(mailTarget);
            mail.Subject = "subject";
            mail.Body = mailBody;
            mail.IsBodyHtml = true;

          
            using (SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587))
            {
                smtp.Credentials = new System.Net.NetworkCredential(maileraddress, password);
                smtp.EnableSsl = true;

                await smtp.SendMailAsync(mail);
            }
        }

我以编程方式尝试了很多东西。我可以肯定地说,文件要么上传到流或文件中(取决于配置)。我尝试使用 gmail 电子邮件创建一个 Outlook 帐户并使用 smtp.live.com,但它也不起作用。我认为这与 azure (我刚开始使用一两天前)有关,我不知道去哪里或做什么。当人们从 blob 下载时,我已经看到有关此问题的一些情况(我不知道那是什么,如果可能的话我真的不想这样做)但我不知道如何利用该答案来解决我的问题。我真的被困在这里,非常感谢任何帮助。请记住,我是一名新手程序员,我对 azure 的了解基本上足以建立一个网站。

经过更多测试后,上传后文件似乎仍然为空。我不会只将文件系统保存到变量中,所以我仍然感到困惑。

更新:设法通过 ssh 进入服务器,看来文件没有被保存。我仍在研究它,任何见解将不胜感激。

任何人都可以回答是否甚至可以处理临时上传而无需使用 blob 存储的文件?

显然我不需要使用 blob 存储,但即使使用 webrootpath,我也无法保存它。我决定再次使用流,它发送一个文件但无法打开,我猜它可能已修复但我不确定。如果我找到解决方案,我会更新。

最后 - 在回到使用流之后它可以工作。我很沮丧,因为我在追尾之前错过了它,但我在这里并且它完成了。

4

0 回答 0