// Создание почтового ящика с параметрами public MailBox(string namebox, string address, SettingsClass settingBox) { name = namebox; myAddress = new MailAddress(address); settings = new SettingsClass(settingBox); folders = new List <Folder>(); }
// Создание копии настроек почтового ящика public SettingsClass(SettingsClass settings) { this.userName = settings.userName; this.password = settings.password; this.ssl = settings.ssl; this.imapServer = settings.imapServer; this.imapPort = settings.imapPort; this.smtpServer = settings.smtpServer; this.smtpPort = settings.smtpPort; }
// Создание почтового ящика public MailBox() { name = null; myAddress = new MailAddress("*****@*****.**"); settings = new SettingsClass() { ImapServer = "imap.ru", ImapPort = 993, SmtpServer = "smtp.ru", SmtpPort = 25, }; folders = new List <Folder>(); }
// Метод загрузки настроек почтового ящика public static SettingsClass LoadSettingBox(string address) { SettingsClass sc; XmlElement setting = null; if (!File.Exists(filename)) { CreateXML(filename); } XmlDocument xd = new XmlDocument(); xd.Load(filename); XmlNodeList list = xd.DocumentElement.ChildNodes; // Выбор почтового ящика по адресу foreach (XmlNode node in list) { if (node.Attributes["address"].Value == address) { setting = (XmlElement)node.FirstChild; break; } } string user, password, ssl, imapHost, imapPort, smtpHost, smtpPort; if (setting != null) { user = setting.Attributes["user"].Value; password = UnCript(setting.Attributes["password"].Value); ssl = setting.Attributes["ssl"].Value; XmlElement imap = (XmlElement)setting.ChildNodes[0]; XmlElement smtp = (XmlElement)setting.ChildNodes[1]; imapHost = imap.Attributes["host"].Value; imapPort = imap.Attributes["port"].Value; smtpHost = smtp.Attributes["host"].Value; smtpPort = smtp.Attributes["port"].Value; sc = new SettingsClass(user, password, Convert.ToBoolean(ssl), imapHost, Convert.ToInt32(imapPort), smtpHost, Convert.ToInt32(smtpPort)); } else { sc = new SettingsClass(); } return(sc); }