public async Task <IActionResult> ConfigureSMTP(ConfigurationModel model)
        {
            if (!ModelState.IsValid)
            {
                return(await Configure());
            }

            var storeId = await _storeContext.GetActiveStoreScopeConfigurationAsync();

            var sendinBlueSettings = await _settingService.LoadSettingAsync <SendinBlueSettings>(storeId);

            if (model.UseSmtp)
            {
                //set case invariant for true because tokens are used in uppercase format in SendinBlue's transactional emails
                _messageTemplatesSettings.CaseInvariantReplacement = true;
                await _settingService.SaveSettingAsync(_messageTemplatesSettings, settings => settings.CaseInvariantReplacement, clearCache : false);

                //check whether SMTP enabled on account
                var(smtpIsEnabled, smtpErrors) = await _sendinBlueEmailManager.SmtpIsEnabledAsync();

                if (smtpIsEnabled)
                {
                    //get email account or create new one
                    var(emailAccountId, emailAccountErrors) = await _sendinBlueEmailManager.GetEmailAccountIdAsync(model.SenderId, model.SmtpKey);

                    sendinBlueSettings.EmailAccountId = emailAccountId;
                    await _settingService.SaveSettingAsync(sendinBlueSettings, settings => settings.EmailAccountId, storeId, false);

                    if (!string.IsNullOrEmpty(emailAccountErrors))
                    {
                        _notificationService.ErrorNotification($"{SendinBlueDefaults.NotificationMessage} {emailAccountErrors}");
                    }
                }
                else
                {
                    //need to activate SMTP account
                    _notificationService.WarningNotification(await _localizationService.GetResourceAsync("Plugins.Misc.SendinBlue.ActivateSMTP"));
                    model.UseSmtp = false;
                }
                if (!string.IsNullOrEmpty(smtpErrors))
                {
                    _notificationService.ErrorNotification($"{SendinBlueDefaults.NotificationMessage} {smtpErrors}");
                }
            }

            //set whether to use SMTP
            sendinBlueSettings.UseSmtp = model.UseSmtp;
            await _settingService.SaveSettingOverridablePerStoreAsync(sendinBlueSettings, settings => settings.UseSmtp, model.UseSmtp_OverrideForStore, storeId, false);

            //set sender of transactional emails
            sendinBlueSettings.SenderId = model.SenderId;
            await _settingService.SaveSettingOverridablePerStoreAsync(sendinBlueSettings, settings => settings.SenderId, model.SenderId_OverrideForStore, storeId, false);

            //set SMTP key
            sendinBlueSettings.SmtpKey = model.SmtpKey;
            await _settingService.SaveSettingAsync(sendinBlueSettings, settings => settings.SmtpKey, clearCache : false);

            //now clear settings cache
            await _settingService.ClearCacheAsync();

            _notificationService.SuccessNotification(await _localizationService.GetResourceAsync("Admin.Plugins.Saved"));

            return(await Configure());
        }