2
我正在開發一個控制檯應用程序,我想從郵件中下載附件(只有一個帳戶)。我可以下載附件,如果附件直接附加到郵件,我正在使用OpenPop庫。下面是下載/保存附件的代碼。如何使用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()
;它不工作。
請不要在標題中包含languge標籤,除非在沒有標籤的情況下才有意義。標籤用於此目的。 –
@OndrejJanacek我不知道你指的是什麼標籤? – NullReferenceException
我在2小時前刪除了標題中的'C#'部分。沒有必要在標題中包含該標題,因爲自動列入的語言標籤會自動包含在搜索中。 –