private static IBodyPart GetDeliveryStatusPart(MessageClass message) { const string method = "GetStatusPart"; if (!message.ContentMediaType.Equals("multipart/report", StringComparison.InvariantCultureIgnoreCase)) { #region Log Log(Event.Trace, method, "Unrelated Content-Type.", null, message); #endregion return(null); } if (message.GetFieldParameter("urn:schemas:mailheader:content-type", "report-type") != "delivery-status") { #region Log Log(Event.Information, method, "Unknown report-type.", null, message); #endregion return(null); } var statusPart = message.BodyParts.Cast <IBodyPart>() .FirstOrDefault(p => p.ContentMediaType.Equals("message/delivery-status", StringComparison.InvariantCultureIgnoreCase)); if (statusPart == null) { #region Log Log(Event.Error, method, "The message/delivery-status part not found.", null, message); #endregion return(null); } return(statusPart); }