如何使用OpenPop将附件保存到C#电子邮件应用程序中的文档

时间:2012-04-26 11:03:11

标签: c# email attachment openpop

我被困了!!!我需要知道如何将附件保存到文档中,有些人可以提供一个代码剪切它或者有效的东西,一直在寻找几天:(

我正在使用名为OpenPop的第三方dll。阅读电子邮件使用2个表单,一个用于显示电子邮件列表,另一个用于查看内容。

这很好用。

Pop3Client pop3Client = (Pop3Client)Session["Pop3Client"]; // Creating new PopClient 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 } } }

1 个答案:

答案 0 :(得分:3)

试试这个:)

获取附件的文件路径,该路径是变量'filePath' emailChangeRequest是电子邮件的名称

MailAttachment oAttch = new MailAttachment(filePath.ToString(), MailEncoding.Base64);
emailChangeRequest.Attachments.Add(oAttch);

希望这有帮助