邮件附件中的路径错误

时间:2014-04-29 16:39:10

标签: c# asp.net c#-4.0 sendmail

这里我需要文件上传然后我需要附加文件并邮寄给它。但附件文件路径错误。

  

错误:找不到文件' C:\ Program Files(x86)\ IIS Express \ test.xlsx'。 //< - 错误的文件路径

代码

            for (int i = 0; i < fuUploadedFiles.UploadedFiles.Count; i++)
        {
            if (fuUploadedFiles.UploadedFiles[i] != null)
            {
                fuUploadedFiles.UploadedFiles[i].SaveAs(ServerPath + "\\" + fuUploadedFiles.UploadedFiles[i].FileName);

                using (MailMessage mm = new MailMessage())
                {
                    if (fuUploadedFiles.UploadedFiles.Count != null)
                    {
                        string FileName = fuUploadedFiles.UploadedFiles[i].FileName;
                        mm.Attachments.Add(new Attachment(FileName));//<-- Error generate here
                        SmtpClient smtp = new SmtpClient();
                        smtp.Host = "smtp.gmail.com";
                        smtp.EnableSsl = true;
                        NetworkCredential NetworkCred = new NetworkCredential("myemail@email.com", "mypassword");
                        smtp.UseDefaultCredentials = true;
                        smtp.Credentials = NetworkCred;
                        smtp.Port = 587;
                        smtp.Send(mm);
                    }     
                }
            }
        }

1 个答案:

答案 0 :(得分:1)

我认为您需要使用虚拟路径而不是真实路径。 ATM我认为fileName是真正的路径。使用ServerPath +“\”+ fuUploadedFiles.UploadedFiles [i] .FileName in file of fileName的结果。这应该解决问题