Я разрабатываю консольное приложение, где я хочу загрузить вложение из писем, поступающих в Mail (только одна учетная запись). Я могу загрузить вложение, если приложение прикрепляется к почте напрямую, я использую OpenPop library.Below - это код для загрузки/сохранения вложения.Как сохранить прикрепление электронной почты «Сообщения» с помощью 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()
; это не работает.
Пожалуйста, не включайте ярлык в заголовок, если это не имеет смысла без него. Теги служат для этой цели. –
@OndrejJanacek Я не знаю, к какому тегу вы обращаетесь? – NullReferenceException
'in C#' часть вашего названия, которую я удалил 2 часа назад. Нет необходимости включать это в заголовок, поскольку теги с зачисленным языком автоматически включаются для поиска. –