Пример #1
0
        /// <summary>
        /// Creates the specified message.
        /// </summary>
        /// <param name="EMailRouterPop3BoxId">The E mail router POP3 box id.</param>
        /// <param name="message">The message.</param>
        /// <returns></returns>
        public static int Create(int EMailRouterPop3BoxId, Pop3Message message)
        {
            if (message == null)
            {
                throw new ArgumentNullException("message");
            }

            EMailMessageRow newRow = new EMailMessageRow();

            newRow.EMailRouterPop3BoxId = EMailRouterPop3BoxId;
            //newRow.Created = DateTime.UtcNow;
            newRow.From = EMailMessage.GetSenderEmail(message);

            //if (message.Sender != null)
            //    newRow.From = EMailMessage.ExtractFirstEmail(message.Sender.Email);
            //else
            //    newRow.From = EMailMessage.ExtractFirstEmail(message.From.Email);

            newRow.To = EMailMessage.ExtractFirstEmail(message.To);

            newRow.Subject = message.Subject == null ? string.Empty : message.Subject;

            newRow.EmlMessage = GetPop3MessageBytes(message);

            newRow.Update();

            return(newRow.PrimaryKeyId);
        }
Пример #2
0
        /// <summary>
        /// Gets the sender email.
        /// </summary>
        /// <param name="message">The message.</param>
        /// <returns></returns>
        internal static string GetSenderEmail(Pop3Message message)
        {
            if (message.Headers["Reply-To"] != null)
            {
                return(EMailMessage.ExtractFirstEmail(message.Headers["Reply-To"]));
            }

            //if (message.Headers["Sender"] != null)
            //    return EMailMessage.ExtractFirstEmail(message.Headers["Sender"]);
            return(EMailMessage.ExtractFirstEmail(message.Headers["From"]));
        }