public void OnDemotedMessageHandler(StoreDriverEventSource source, StoreDriverSubmissionEventArgs args)
        {
            StoreDriverSubmissionEventArgsImpl storeDriverSubmissionEventArgsImpl = (StoreDriverSubmissionEventArgsImpl)args;

            if (MfnSubmitterAgent.ShouldGenerateMfn(storeDriverSubmissionEventArgsImpl.SubmissionItem.MessageClass))
            {
                using (MfnSubmitter mfnSubmitter = new MfnSubmitter(storeDriverSubmissionEventArgsImpl.SubmissionItem, storeDriverSubmissionEventArgsImpl.MailItemSubmitter))
                {
                    TransportMailItem        originalMailItem         = null;
                    TransportMailItemWrapper transportMailItemWrapper = args.MailItem as TransportMailItemWrapper;
                    if (transportMailItemWrapper != null)
                    {
                        originalMailItem = transportMailItemWrapper.TransportMailItem;
                    }
                    mfnSubmitter.CheckAndSubmitMfn(originalMailItem);
                }
            }
        }
 public void Close()
 {
     TransportMailItemWrapper.CloseStreams(ref this.openedReadStreams);
     this.mailItem   = null;
     this.recipients = null;
 }
 public override Stream GetMimeReadStream()
 {
     this.ThrowIfClosed();
     return(TransportMailItemWrapper.GetMimeReadStream(this.mailItem, ref this.openedReadStreams));
 }