在Asp.net页面中,我发送带附件的电子邮件。问题是要附加的文件存储在其他服务器上。请指导如何附加此类文件。我尝试提供文件的网址但出现错误“不支持URI格式。”
Message.Attachments.Add(new Attachment("http://domain.com/upload/cv.doc"));
请指导我如何从其他服务器附加文件。
答案 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";
我希望这有帮助!