void pop3Server_UserAuthenticated(object sender, Pop3SessionEventArgs e)
 {
     POP3_Session session = sender as POP3_Session;
     if (session != null)
     {
         string currentUser = session.m_UserName;
         if (currentUser == this.settings.SitefinityPop3BounceTrackerUsername)
         {
             for (int message = 0; message < bouncedMessages.Count; message++)
             {
                 session.m_pMessages.Add((message + 1).ToString(), new POP3_ServerMessage((message + 1).ToString(), bouncedMessages[message].MessageData.Length) { SequenceNumber = (message + 1) });
             }
             session.GetMessageStream += new EventHandler<POP3_e_GetMessageStream>(delegate(object s, POP3_e_GetMessageStream ms)
             {
                 int messageId;
                 if (int.TryParse(ms.Message.UID, out messageId))
                 {
                     ms.MessageStream = new MemoryStream(ASCIIEncoding.Default.GetBytes(bouncedMessages[messageId].MessageData));
                 }
                 //ms.MessageStream = new MemoryStream(ASCIIEncoding.Default.GetBytes(bouncedMessage));
             });
         }
     }
 }
 void pop3Server_UserQuit(object sender, Pop3SessionEventArgs e)
 {
     POP3_Session session = sender as POP3_Session;
     if (session != null)
     {
         string currentUser = session.m_UserName;
         if (currentUser == this.settings.SitefinityPop3BounceTrackerUsername)
         {
             SetText(lblCollectionLog, "[" + DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss") + "] Bounced messages collected.");
             bouncedMessages.Clear();
             UpdateStatistics();
             if (isInTray)
                 notifyIcon.ShowBalloonTip(5000, CurrentVersion, "Messages collected by Sitefinity's POP3 Client!", ToolTipIcon.Info);
         }
     }
 }