override public EMailsListElement[] ListEmails() { string response = ExecuteCommand(listCommand, new Regex(messageEndPattern)); string commandResult = string.Empty; string[] answerLines = GetAnswer(response, channelLineDelimiter, out commandResult); List <EMailsListElement> result = new List <EMailsListElement>(); ArrayList retval = new ArrayList(); char[] seps = { ' ' }; for (int i = 0; i < answerLines.Length; ++i) { EMailsListElement msg = new EMailsListElement(); string[] values = answerLines[i].Split(seps); if (values.Length < 2) { continue; } msg.Number = Int32.Parse(values[0]); msg.Bytes = Int32.Parse(values[1]); msg.Retrieved = false; result.Add(msg); } return(result.ToArray()); }
public EMailMessage GetMessageHeaders(EMailsListElement Element) { EMailMessage message = GetMessageHeaders(Element.Number, 0); message.Bytes = Element.Bytes; return(message); }
public bool DeleteMessage(int MessageNumber) { EMailsListElement element = new EMailsListElement(); element.Number = MessageNumber; return(DeleteMessage(element)); }
public EMailMessage RetrieveEmail(int MailNumber) { EMailsListElement element = new EMailsListElement(); element.Number = MailNumber; return(RetrieveEmail(element)); }
override public bool DeleteMessage(EMailsListElement ListElement) { bool result = false; string command = string.Format(deleCommand, ListElement.Number); string response = ExecuteCommand(command); if (IsResponseOK(response)) { result = true; } return(result); }
public EMailsListElement[] ListPop3EMails(string Server, int Port, string Username, string Password, bool Ssl) { Pop3Manager popMngr = new Pop3Manager(Server, Port, Username, Password, Ssl); EMailsListElement[] mails = new EMailsListElement[0]; try { mails = popMngr.ListEmails(); } catch { } return(mails); }
override public EMailMessage RetrieveEmail(EMailsListElement ListElement) { string response = RetrieveRawEmailStream(ListElement.Number); EmailParser parser = new EmailParser(); // TODO: clean it up Regex rx = new Regex(@"(\+OK \d* Octets\r\n)"); string answer = rx.Replace(response, string.Empty); EMailMessage result = parser.CreateEmailFromRawText(answer); result.Retrieved = true; return(result); }
public EMailsListElement[] ListPop3EMails(String Server, int Port, string Username, string Password, bool Ssl) { Pop3Provider popMngr = new Pop3Provider(Server, Port, Username, Password, Ssl); EMailsListElement[] mails = new EMailsListElement[0]; try { popMngr.OpenConnection(); mails = popMngr.ListEmails(); popMngr.CloseConnection(); } catch { } return(mails); }
override public EMailsListElement[] ListEmails(bool keepOpen) { EMailsListElement[] result; string answer = string.Empty; OpenConnection(); string response = ExecuteCommand(listCommand, false, ref answer, true); if (!keepOpen) { CloseConnection(); } string[] answerLines = answer.Split(responseEndLine); ArrayList retval = new ArrayList(); char[] seps = { ' ' }; for (int i = 0; i < answerLines.Length - 1; ++i) { EMailsListElement msg = new EMailsListElement(); string[] values = answerLines[i].Split(seps); if (values.Length < 2) { continue; } msg.Number = Int32.Parse(values[0]); msg.Bytes = Int32.Parse(values[1]); msg.Retrieved = false; retval.Add(msg); } result = new EMailsListElement[retval.Count]; result = (EMailsListElement[])(retval.ToArray(typeof(EMailsListElement))); return(result); }
override public EMailMessage GetMessageHeaders(int mailNumber, int TopLines) { EMailMessage result; string commandResult = string.Empty; string command = string.Format(topCommand, mailNumber, TopLines); string response = ExecuteCommand(command, new Regex(messageEndPattern)); string answer = GetAnswer(response, out commandResult); EMailsListElement element = new EMailsListElement { Number = mailNumber }; result = new EMailMessage(element); EmailParser parser = new EmailParser(); parser.ParseEMailMessageHeader(ref result, answer); return(result); }
abstract public bool DeleteMessage(EMailsListElement ListElement);
abstract public EMailMessage RetrieveEmail(EMailsListElement ListElement);
override public bool DeleteMessage(EMailsListElement ListElement) { throw new NotImplementedException(); }
override public EMailMessage GetMessageHeaders(EMailsListElement Element, int TopLines, bool keepOpen) { throw new NotImplementedException(); }
override public EMailMessage RetrieveEmail(EMailsListElement ListElement) { throw new NotImplementedException(); }