/// <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); }
/// <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"])); }