2

我正在开发一个控制台应用程序,我想从发送到 Mail 的邮件中下载附件(只有一个帐户)。我可以下载附件,如果附件直接附加到邮件,我正在使用 OpenPop 库。以下是下载/保存附件的代码。

Pop3Client client = new Pop3Client();    
client.Connect("MailServer", PortNumber,UseSSL,receiveTimeout, sendTimeout,certificateValidator);
client.Authenticate(username, password);
List<Message> _messages = new List<Message>();
int messageCount = client.GetMessageCount();             
for (int i = messageCount; i > 0; i--)
{
    _messages .Add(client.GetMessage(i));                    
}
string _path = @"D:\Attachments";
foreach (Message message in _messages)
{                  
    foreach (MessagePart attachment in message.FindAllAttachments())
    {
        string filePath = Path.Combine(_path, attachment.FileName);
        if (Path.GetExtension(filePath) == ".xlsx")
        {
            FileStream Stream = new FileStream(filePath, FileMode.Create);
            BinaryWriter BinaryStream = new BinaryWriter(Stream);
            BinaryStream.Write(attachment.Body);
            Stream.Close();
            BinaryStream.Close();                                                
         }
     }
 }

但我收到的邮件是这样的,每封邮件都是消息的集合,每条消息都有一个附件。例如:来自 abc@example.com 的邮件,此邮件包含邮件列表,每封邮件都有一个附件,如何获取此附件。?我试过了 var mailbody = message.MessagePart.MessageParts.FirstOrDefault();它不工作。

4

1 回答 1

0

检查这个网站。它有完整的代码解释如何获取和阅读带有附件的电子邮件。希望这可以帮助。

于 2014-02-21T04:54:51.460 回答