Provides data for message related events.
예제 #1
0
        /// <summary>
        /// Raises event 'DeleteMessage'.
        /// </summary>
        /// <param name="session">Reference to IMAP session.</param>
        /// <param name="message">Message which to delete.</param>
        /// <returns></returns>
        internal string OnDeleteMessage(IMAP_Session session, IMAP_Message message)
        {
            Message_EventArgs eArgs = new Message_EventArgs(session.SelectedMailbox, message);

            if (this.DeleteMessage != null)
            {
                this.DeleteMessage(session, eArgs);
            }

            return(eArgs.ErrorText);
        }
예제 #2
0
        /// <summary>
        /// Raises event 'StoreMessageFlags'.
        /// </summary>
        /// <param name="session">Reference to IMAP session.</param>
        /// <param name="msg">Message which flags to store.</param>
        /// <returns></returns>
        internal string OnStoreMessageFlags(IMAP_Session session, IMAP_Message msg)
        {
            Message_EventArgs eArgs = new Message_EventArgs(session.SelectedMailbox, msg);

            if (this.StoreMessageFlags != null)
            {
                this.StoreMessageFlags(session, eArgs);
            }

            return(eArgs.ErrorText);
        }
예제 #3
0
        /// <summary>
        /// Raises event 'CopyMessage'.
        /// </summary>
        /// <param name="session">Reference to IMAP session.</param>
        /// <param name="msg">Message which to copy.</param>
        /// <param name="location">New message location.</param>
        /// <returns></returns>
        internal string OnCopyMessage(IMAP_Session session, IMAP_Message msg, string location)
        {
            Message_EventArgs eArgs = new Message_EventArgs(session.SelectedMailbox, msg, location);

            if (this.CopyMessage != null)
            {
                this.CopyMessage(session, eArgs);
            }

            return(eArgs.ErrorText);
        }
예제 #4
0
        /// <summary>
        /// Raises event 'GetMessage'.
        /// </summary>
        /// <param name="session">Reference to IMAP session.</param>
        /// <param name="msg">Message which to get.</param>
        /// <param name="headersOnly">Specifies if message header or full message is wanted.</param>
        /// <returns></returns>
        internal Message_EventArgs OnGetMessage(IMAP_Session session, IMAP_Message msg, bool headersOnly)
        {
            Message_EventArgs eArgs = new Message_EventArgs(session.SelectedMailbox, msg, headersOnly);

            if (this.GetMessage != null)
            {
                this.GetMessage(session, eArgs);
            }

            return(eArgs);
        }
예제 #5
0
        /// <summary>
        /// Raises event 'StoreMessage'.
        /// </summary>
        /// <param name="session">Reference to IMAP session.</param>
        /// <param name="folder">Folder where to store.</param>
        /// <param name="msg">Message which to store.</param>
        /// <param name="messageData">Message data which to store.</param>
        /// <returns></returns>
        internal string OnStoreMessage(IMAP_Session session, string folder, IMAP_Message msg, byte[] messageData)
        {
            Message_EventArgs eArgs = new Message_EventArgs(folder, msg);

            eArgs.MessageData = messageData;
            if (this.StoreMessage != null)
            {
                this.StoreMessage(session, eArgs);
            }

            return(eArgs.ErrorText);
        }
        private void IMAP_Server_StoreMessageFlags(object sender, Message_EventArgs e)
        {
            IMAP_Session ses = (IMAP_Session)sender;

            m_pAPI.StoreMessageFlags(ses.UserName,ses.SelectedMailbox,e.Message);
        }
        private void IMAP_Server_GetMessage(object sender, Message_EventArgs e)
        {
            IMAP_Session ses = (IMAP_Session)sender;

            if(!e.HeadersOnly){
                e.MessageData = m_pAPI.GetMessage(ses.UserName,ses.SelectedMailbox,e.Message.MessageID);
            }
            else{
                e.MessageData = m_pAPI.GetMessageTopLines(ses.UserName,e.Folder,e.Message.MessageID,0);
            }
        }
        private void IMAP_Server_StoreMessage(object sender, Message_EventArgs e)
        {
            try
            {
                IMAP_Session ses = (IMAP_Session)sender;

                m_pAPI.StoreMessage(ses.UserName,e.Folder,new MemoryStream(e.MessageData),"","",false,DateTime.Now,e.Message.Flags);
            }
            catch(Exception x){
                e.ErrorText = x.Message;
            }
        }
        private void IMAP_Server_DeleteMessage(object sender, Message_EventArgs e)
        {
            try
            {
                IMAP_Session ses = (IMAP_Session)sender;

                m_pAPI.DeleteMessage(ses.UserName,ses.SelectedMailbox,e.Message.MessageID);
            }
            catch(Exception x){
                e.ErrorText = x.Message;
            }
        }
        private void IMAP_Server_DeleteMessage(object sender, Message_EventArgs e)
        {
            try{
                IMAP_Session ses = (IMAP_Session)sender;

                string userName = ses.UserName;
                string folder   = e.Folder;

                m_pApi.DeleteMessage(userName,userName,folder,e.Message.ID,(int)e.Message.UID);
            }
            catch(Exception x){
                e.ErrorText = x.Message;
            }
        }
        private void IMAP_Server_CopyMessage(object sender,Message_EventArgs e)
        {
            try{
                IMAP_Session ses = (IMAP_Session)sender;

                string userName = ses.UserName;
                string folder  = e.Folder;
                string mailboxDest = e.CopyLocation;
                string destFolderUserName = ses.UserName;

                m_pApi.CopyMessage(userName,userName,folder,destFolderUserName,mailboxDest,e.Message);
            }
            catch(Exception x){
                e.ErrorText = x.Message;
            }
        }
        private void IMAP_Server_StoreMessageFlags(object sender, Message_EventArgs e)
        {
            IMAP_Session ses = (IMAP_Session)sender;

            string userName   = ses.UserName;
            string folder     = e.Folder;

            m_pApi.StoreMessageFlags(userName,userName,folder,e.Message,e.Message.Flags);
        }
        private void IMAP_Server_StoreMessage(object sender, Message_EventArgs e)
        {
            try{
                IMAP_Session ses = (IMAP_Session)sender;

                string userName   = ses.UserName;
                string folder     = e.Folder;

                m_pApi.StoreMessage(userName,userName,folder,new MemoryStream(e.MessageData),e.Message.InternalDate,e.Message.Flags);
            }
            catch(Exception x){
                e.ErrorText = x.Message;
            }
        }