使用asp.net c发送带有多个附件的电子邮件

时间:2013-12-15 05:20:31

标签: c# asp.net webforms

我正在尝试使用以下代码发送附件。但我一直收到错误Could not find a part of the path

我正在ApplyForJob.aspx.cs文件夹下的App_Code/Helper.cs文件中调用sendEmail函数

以下是SendEmail函数

的一部分
        // Create a new Smpt Client 
        var mailclient = new SmtpClient();

        System.Net.Mail.Attachment attachment1;
        attachment1 = new System.Net.Mail.Attachment(HttpContext.Current.Server.MapPath("~/App_Data/uploads/" + am1));
        mail.Attachments.Add(attachment1);

我已将路径更改为~/App_Data/uploads/" + am1  App_Data/uploads/" + am1 ../App_Data/uploads/" + am1

但似乎没有一个选项可行。

如何正确指向路径指向存储在App_Data/Uploads/

中的文件

常规文件夹结构

App_Data
..Upload
....resume1.docx
....resume2.docx
....resume3.docx
....resume4.docx
....resume4.docx
App_Code
..Helper.cs
English
..Default.aspx
..Default.aspx.cs
..ApplyForJob.aspx
..ApplyForJob.aspx.cs
Spanish

3 个答案:

答案 0 :(得分:0)

使用

解决了问题
HttpContext.Current.Request.MapPath 

其他详情:http://forums.asp.net/t/1813648.aspx http://www.dotnetperls.com/mappath

答案 1 :(得分:0)

您需要使用

  Server.MapPath("Path as String")

答案 2 :(得分:0)

这将在App_Data文件夹中找到Example.xml文件  (App_Data是放置数据文件的好地方。)

attachment1 = new System.Net.Mail.Attachment(HttpContext.Current.Server.MapPath("~/App_Data/Example.xml"));

这将在根目录中找到Example.txt文件。 这可以在应用程序的任何目录中的文件中使用。

attachment1 = new System.Net.Mail.Attachment(HttpContext.Current.Request.MapPath("~/Example.txt"));