我正在尝试从具有附件的C#(更具体的WCF服务)发送电子邮件。附件不在本地文件系统上,因此它将具有“http:// ...”等路径。
目前,如果我尝试传入url,我会收到一条错误,指出不支持给定路径的格式。
Attachment attachment;
attachment = new Attachment("https://assets.conestogac.on.ca/wiki/gatewayprocess.png", MediaTypeNames.Application.Octet);
message.Attachments.Add(attachment);
服务器在处理请求时遇到错误。异常消息是“不支持给定路径的格式”。有关详细信息,请参阅服务器日志。
如何将远程文件作为电子邮件附件附加?
答案 0 :(得分:2)
您需要使用HttpClient
或HttpWebRequest to download the remote file to a
Stream`,然后附加下载的数据。
答案 1 :(得分:1)
尝试类似的东西:
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));
答案 2 :(得分:0)
也许您可以尝试以下代码:
它会将附件添加为内联附件
string attachmentPath = Environment.CurrentDirectory + @"\test.png";
Attachment inline = new Attachment(attachmentPath);
inline.ContentDisposition.Inline = true;
inline.ContentDisposition.DispositionType = DispositionTypeNames.Inline;
inline.ContentId = contentID;
inline.ContentType.MediaType = "image/png";
inline.ContentType.Name = Path.GetFileName(attachmentPath);
message.Attachments.Add(inline);