/// <summary> /// Initializes a new instance of an object. /// </summary> /// <param name="dispatcher">Dispatcher.</param> /// <param name="logger">Logger.</param> /// <param name="settings">Mail service settings.</param> public MailService(Dispatcher dispatcher, Logger logger, Settings settings) { this.Settings = settings; this.Dispatcher = dispatcher; this.Logger = logger; }
/// <summary> /// Initializes a new instance of an object. /// <param name="settings">Mail service settings.</param> /// </summary> public MailService(Settings settings) : this(null, null, settings) { }
/// <summary> /// Initializes a new instance of an object. /// </summary> /// <param name="dispatcher">Dispatcher.</param> /// <param name="settings">Mail service settings.</param> public MailService(Dispatcher dispatcher, Settings settings) : this(dispatcher, null, settings) { }
/// <summary> /// Returns the default mail service. /// </summary> /// <returns>Default mail service.</returns> public static MailService GetDefaultMailService() { MailService ret = null; string prefix = "Mail:"; Settings settings = new Settings(); LogOrganizeMode logMode = LogOrganizeMode.Daily; foreach (string key in System.Configuration.ConfigurationManager.AppSettings.Keys) { if (!string.IsNullOrEmpty(key) && key.StartsWith(prefix, StringComparison.InvariantCultureIgnoreCase) && key.Length > prefix.Length) settings[key.Substring(prefix.Length)] = System.Configuration.ConfigurationManager.AppSettings[key]; } Enum.TryParse<LogOrganizeMode>(settings["LogMode"] ?? string.Empty, true, out logMode); ret = new MailService(); ret.Settings = settings; ret.Dispatcher = new SmtpServerDispatcher(); ret.Logger = new MultiTextFileLogger(settings["LogDirectory"], logMode); return ret; }