Example #1
0
 internal EmailImapClient(EmailSettings settings, int savedSeqNo)
 {
     Init(settings);
     _savedSeqNo = savedSeqNo;
     _seqSet     = savedSeqNo + ":*";
     _criteria   = SeqSetCriteriaEnum.SaveNo;
 }
Example #2
0
        /// <summary>
        /// Gets specified folder messages list from IMAP server.
        /// </summary>
        /// <param name="folder">IMAP folder which messages to load.</param>
        private void LoadFolder(string folder)
        {
            try {
                _client.SelectFolder(folder);

                if (_client.SelectedFolder.MessagesCount == 0)
                {
                    return;
                }

                var seqSet = GetSeqSet();
                if (seqSet == null)
                {
                    throw new ArgumentNullException(nameof(seqSet));
                }
                if (string.IsNullOrWhiteSpace(seqSet))
                {
                    return;
                }
                AppJournal.Write("EmailImapTransport: LoadFolder: Seq_set = " + GetSeqSet());

                _client.Fetch(false, IMAP_t_SeqSet.Parse(GetSeqSet()),
                              new IMAP_t_Fetch_i[] { new IMAP_t_Fetch_i_Envelope(), new IMAP_t_Fetch_i_Flags(), new IMAP_t_Fetch_i_InternalDate(), new IMAP_t_Fetch_i_Rfc822Size(), new IMAP_t_Fetch_i_Uid() },
                              FetchFolderHandler);

                _savedSeqNo = _messages.Last().UID + 1;
                _criteria   = SeqSetCriteriaEnum.SaveNo;
            } catch (Exception ex) {
                //Debug.WriteLine(ex.Message);
                AppJournal.Write("EmailImapTransport:LoadFolder: " + ex.Message);
            }
        }
Example #3
0
 internal EmailImapClient(EmailSettings settings, SeqSetCriteriaEnum criteria)
 {
     Init(settings);
     _criteria = criteria;
 }
Example #4
0
 internal EmailImapClient(EmailSettings settings, string seqSet)
 {
     Init(settings);
     _seqSet   = seqSet;
     _criteria = SeqSetCriteriaEnum.Handle;
 }
Example #5
0
 internal EmailImapClient(EmailSettings settings)
 {
     Init(settings);
     _criteria = SeqSetCriteriaEnum.Unseen;
 }