2014-02-21 2 views
2

Я разрабатываю консольное приложение, где я хочу загрузить вложение из писем, поступающих в 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(); это не работает.

+0

Пожалуйста, не включайте ярлык в заголовок, если это не имеет смысла без него. Теги служат для этой цели. –

+0

@OndrejJanacek Я не знаю, к какому тегу вы обращаетесь? – NullReferenceException

+0

'in C#' часть вашего названия, которую я удалил 2 часа назад. Нет необходимости включать это в заголовок, поскольку теги с зачисленным языком автоматически включаются для поиска. –

ответ

0

Проверьте this сайт. Он имеет полный код, объясняющий, как извлекать и читать сообщения электронной почты с вложениями. Надеюсь это поможет.

Смежные вопросы