使用来自其他服务器(URL)的电子邮件附加文件?请求指导

时间:2011-03-17 08:53:54

标签: .net asp.net .net-3.5 .net-2.0

在Asp.net页面中,我发送带附件的电子邮件。问题是要附加的文件存储在其他服务器上。请指导如何附加此类文件。我尝试提供文件的网址但出现错误“不支持URI格式。”

Message.Attachments.Add(new Attachment("http://domain.com/upload/cv.doc"));

请指导我如何从其他服务器附加文件。

1 个答案:

答案 0 :(得分:1)

首先在C#/ Asp.Net代码中使用HttpWebRequest加载文件,使用StreamReader读取结果,将其保存到本地文件(前提是您的Asp.Net应用程序对文件具有此类权限系统)。然后指定新创建文件的文件名。

不要忘记在已发送电子邮件时删除本地文件。

修改

它应该使用直接文件路径。如果该文件位于同一网站下,请尝试使用:

var filePath = HttpContext.Current.Server.MapPath("/someTempFile.dat"); // here / - is the website root.
//now use filePath as an argument to Attachment() constructor.

如果这是您从其他域下载文件的文件,则同样如此。

如果文件不在网站下面,那么你应该使用

之类的路径
var filePath = "C:\SomeTempFolder\someTempFile.dat";

我希望这有帮助!