using Abp.Configuration; using Abp.Extensions; namespace Abp.Net.Mail { /// /// Implementation of that reads settings /// from . /// public abstract class EmailSenderConfiguration : IEmailSenderConfiguration { public virtual string DefaultFromAddress { get { return GetNotEmptySettingValue(EmailSettingNames.DefaultFromAddress); } } public virtual string DefaultFromDisplayName { get { return SettingManager.GetSettingValue(EmailSettingNames.DefaultFromDisplayName); } } protected readonly ISettingManager SettingManager; /// /// Creates a new . /// protected EmailSenderConfiguration(ISettingManager settingManager) { SettingManager = settingManager; } /// /// Gets a setting value by checking. Throws if it's null or empty. /// /// Name of the setting /// Value of the setting protected string GetNotEmptySettingValue(string name) { var value = SettingManager.GetSettingValue(name); if (value.IsNullOrEmpty()) { throw new AbpException($"Setting value for '{name}' is null or empty!"); } return value; } } }