using System; using System.Threading.Tasks; using BTCPayServer.Logging; namespace BTCPayServer.Services.Mails { class ServerEmailSender : EmailSender { public ServerEmailSender(SettingsRepository settingsRepository, IBackgroundJobClient backgroundJobClient, Logs logs) : base(backgroundJobClient, logs) { ArgumentNullException.ThrowIfNull(settingsRepository); SettingsRepository = settingsRepository; } public SettingsRepository SettingsRepository { get; } public override Task GetEmailSettings() { return SettingsRepository.GetSettingAsync(); } public override async Task GetPrefixedSubject(string subject) { var settings = await SettingsRepository.GetSettingAsync(); var prefix = string.IsNullOrEmpty(settings?.ServerName) ? "BTCPay Server" : settings.ServerName; return $"{prefix}: {subject}"; } } }