如何使用OpenPop保存电子邮件"Messages"附件



我正在开发一个控制台应用程序,我想从进入邮件的邮件中下载附件(只有一个帐户)。我可以下载附件,如果附件直接附加到邮件中,我正在使用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();它不起作用。

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

相关内容

  • 没有找到相关文章

最新更新