-4

我卡住了!!!我需要知道如何将附件保存到文档中,有人可以为我提供一个代码片段或其他有用的东西吗,我一直在寻找几天:(

我正在使用名为 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 } } }

4

1 回答 1

3

尝试这个 :)

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

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

希望这可以帮助

于 2012-04-26T11:07:14.767 回答