Example #1
0
 /// <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;
 }
Example #2
0
 /// <summary>
 /// Initializes a new instance of an object.
 /// <param name="settings">Mail service settings.</param>
 /// </summary>
 public MailService(Settings settings)
     : this(null, null, settings)
 {
 }
Example #3
0
 /// <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)
 {
 }
Example #4
0
        /// <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;
        }