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;
}
}
}