我正在开发一个控制台应用程序,我想从发送到 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()
;它不工作。