Создание Windows-приложений на основе Visual C#


           

Класс Pop3.csM


//#define _DEBUG

using System; using System.IO; using System.Net; using System.Net.Sockets; using System.Diagnostics; using System.Collections; using System.Text; using System.Text.RegularExpressions;

namespace Mail.Providers { /// <summary> /// Реализация протокола POP3 /// </summary> /// <example>Пример получения сообщения. /// <code> /// using (Pop3 pop3 = new Pop3("host")) /// { /// pop3.LogIn("Username", "Password"); /// Console.WriteLine("Количество сообщений:" + pop3.NumberOfMessages); /// /// using(Message msg = pop3.GetMessage(1)) // получение первого сообщения /// { /// Console.WriteLine("Тема: " + msg.Subject); /// } /// } /// </code> /// </example> public class Pop3 : Provider { #region Constants const int MaxReceiveSize = 1024; const int POP3DefaultPort = 110;

const int SendTimeout = 60000; // в милисекундах. public int ReceiveTimeout = 2000000; // в милисекундах. public int PollTimeout = 100000; // в микросекундах.

const string CRLF = "\r\n";

const string FiveOctalTerm = "\r\n.\r\n"; const string STAT_OK = "+OK"; const string STAT_ERR = "-ERR";

const char SPACE = ' '; const char CR = '\r'; #endregion

Socket _socket = null;

MaildropStatus _status = null; uint [] _messagelist = null;

bool _authenticated = false;

#region DEBUG functions FileStream GetDebugStream() { return new FileStream(@"C:\trace_response.log", FileMode.Append); } [Conditional("_DEBUG")] void Trace(byte [] str) { FileStream fs = GetDebugStream(); fs.Write(str, 0, str.Length); fs.Close(); }

[Conditional("_DEBUG")] void Trace(string str) { FileStream fs = GetDebugStream(); fs.Write(Encoding.ASCII.GetBytes(str), 0, str.Length); fs.Close(); } #endregion

#region Constructors /// <summary> /// Инициализация класса установленным по умолчанию портом (110) и установка адреса временной папки /// на текущую системную временную папку. /// </summary> /// <param name="server">IP адрес сервера.</param> public Pop3(string server) { _server = server; _port = POP3DefaultPort; TempDirectory = Path.GetTempPath(); }



Содержание  Назад  Вперед