【发布时间】:2012-05-06 05:46:44
【问题描述】:
我创建了一个网络电子邮件应用程序,我如何查看和保存附件?
我使用的是OpenPop,第三方dll,可以发送带附件的邮件,也可以阅读不带附件的邮件。
这很好用:
Pop3Client pop3Client = (Pop3Client)Session["Pop3Client"]; // Creating newPopClient
int messageNumber = int.Parse(Request.QueryString["MessageNumber"]);
Message message = pop3Client.GetMessage(messageNumber);
MessagePart messagePart = message.MessagePart.MessageParts[1];
lblFrom.Text = message.Headers.From.Address; // Writeing message.
lblSubject.Text = message.Headers.Subject;
lblBody.Text=messagePart.BodyEncoding.GetString(messagePart.Body);
第二部分代码显示附件的内容,但只有在它是文本文件时才有用。我需要能够保存附件。此外,我在此处的代码的底部部分会覆盖我的邮件正文,因此如果我收到附件,我将无法查看我的邮件正文。
if (messagePart.IsAttachment == true) {
foreach (MessagePart attachment in message.FindAllAttachments()) {
if (attachment.FileName.Equals("blabla.pdf")) { // Save the raw bytes to a file
File.WriteAllBytes(attachment.FileName, attachment.Body); //overwrites MessagePart.Body with attachment
}
}
}
【问题讨论】:
标签: c# email save attachment openpop