示例#1
0
        private MailMessage MakeMessage(Message pop3mail)
        {
            // favor HTML
            MessagePart body = pop3mail.FindFirstHtmlVersion();

            if (body == null)
            {
                body = pop3mail.FindFirstPlainTextVersion();
            }

            // .elm is usually associated with default email client
            string tempFile = Path.Combine(tempFolder, pop3mail.Headers.MessageId) + ".eml";

            logger.SavingIncomingMailTo(tempFile);
            var fi = new FileInfo(tempFile);

            pop3mail.Save(fi);
            logger.SavedIncomingMailTo(tempFile);

            var message = new MailMessage()
            {
                Body          = body.GetBodyAsText(),
                Subject       = pop3mail.Headers.Subject,
                From          = pop3mail.Headers.From ?? pop3mail.Headers.Sender,
                MessageId     = pop3mail.Headers.MessageId,
                LocalDumpFile = tempFile
            };

            return(message);
        }