我试图将保存在FTP服务器上的文件附加到SMTP邮件中。
mail.Body = body;
System.Net.Mail.Attachment attachment;
attachment = new System.Net.Mail.Attachment(Server.MapPath("Documents/quote.pdf"));
mail.Attachments.Add(attachment);
SmtpServer.Send(mail);
但是,由于身份验证问题,找到附件似乎很麻烦。我不确定我是否应该使用RequestStream并获取响应,或者是否有一种方法可以验证读取和添加附件到电子邮件的路径。RequestStream的问题是我无法获取文件名,这是我在创建附件时需要添加为参数的文件名。有什么建议吗?提前致谢。
使用FtpWebRequest
获得Stream
FTP服务器上指的是文件的内容。然后使用带有的Attachment
构造函数Stream
的重载。
const string filename = "quote.pdf";
FtpWebRequest request =
(FtpWebRequest)WebRequest.Create("ftp://ftp.example.com/remote/path/" + filename);
request.Credentials = new NetworkCredential("username", "password");
request.Method = WebRequestMethods.Ftp.DownloadFile;
Stream contentStream = request.GetResponse().GetResponseStream();
Attachment attachment = new System.Net.Mail.Attachment(contentStream, filename);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句