如何将远程文件附加到C#中的电子邮件?
我正试图从C#(更具体地说是WCF服务)发送一封带有附件的电子邮件。附件不在本地文件系统上,因此其路径为“http://...“等等 目前,如果我尝试传入url,我会得到一个错误,即给定路径的格式不受支持如何将远程文件附加到C#中的电子邮件?,c#,wcf,C#,Wcf,我正试图从C#(更具体地说是WCF服务)发送一封带有附件的电子邮件。附件不在本地文件系统上,因此其路径为“http://...“等等 目前,如果我尝试传入url,我会得到一个错误,即给定路径的格式不受支持 Attachment attachment; attachment = new Attachment("https://assets.conestogac.on.ca/wiki/gatewayprocess.png", MediaTypeNames.Applicatio
Attachment attachment;
attachment = new Attachment("https://assets.conestogac.on.ca/wiki/gatewayprocess.png", MediaTypeNames.Application.Octet);
message.Attachments.Add(attachment);
服务器在处理请求时遇到错误。异常消息为“不支持给定路径的格式”。有关详细信息,请参阅服务器日志
如何将远程文件作为电子邮件附件附加?您需要使用
HttpClient
或HttpWebRequest将远程文件下载到流中,然后附加下载的数据。您需要使用HttpClient
或HttpWebRequest将远程文件下载到流中,然后附加下载的数据。也许您可以尝试以下代码:
它将添加附件作为内联附件
也许您可以尝试以下代码:
它将添加附件作为内联附件
试试这样:
var tempFileName = @"c:\tempFolder\gatewayprocess.png";
System.Net.WebClient webClient = new System.Net.WebClient();
webClient.DownloadFile("https://assets.conestogac.on.ca/wiki/gatewayprocess.png", tempFileName);
message.Attachments.Add(new Attachment(tempFileName));
试试这样:
var tempFileName = @"c:\tempFolder\gatewayprocess.png";
System.Net.WebClient webClient = new System.Net.WebClient();
webClient.DownloadFile("https://assets.conestogac.on.ca/wiki/gatewayprocess.png", tempFileName);
message.Attachments.Add(new Attachment(tempFileName));
你应该先下载文件。如果可能的话,发送下载链接可能更方便收件箱。你应该先下载文件。如果可能的话,发送下载链接可能更方便收件箱。这与问题无关这与问题无关尽管我接受了另一个答案,我想指出的是,这或多或少是我最终所做的。虽然我接受了另一个答案,但我想指出的是,这或多或少是我最终所做的。