public ActionResult ConfigureSMTP(SendInBlueModel model)
        {
            if (!ModelState.IsValid)
            {
                return(Configure());
            }

            var storeId            = GetActiveStoreScopeConfiguration(_storeService, _workContext);
            var sendInBlueSettings = _settingService.LoadSetting <SendInBlueSettings>(storeId);

            if (model.UseSendInBlueSMTP)
            {
                //set case invariant for true because tokens are used in uppercase format in SendInBlue's transactional emails
                var messageTemplatesSettings = _settingService.LoadSetting <MessageTemplatesSettings>();
                messageTemplatesSettings.CaseInvariantReplacement = true;
                _settingService.SaveSetting(messageTemplatesSettings, x => x.CaseInvariantReplacement, 0, false);

                //check whether SMTP enabled on SendInBlue profile
                var errors = string.Empty;
                if (_sendInBlueEmailManager.SmtpIsEnabled(ref errors))
                {
                    //get email account or create new one
                    sendInBlueSettings.SendInBlueEmailAccountId = _sendInBlueEmailManager.GetEmailAccountId(_emailAccountService, model.SMTPSenderId, out errors);
                    if (string.IsNullOrEmpty(errors))
                    {
                        _settingService.SaveSetting(sendInBlueSettings, x => x.SendInBlueEmailAccountId, storeId, false);
                    }
                    else
                    {
                        ErrorNotification(errors);
                    }

                    //synchronize nopCommerce tokens and SendInBlue transactional attributes
                    _sendInBlueEmailManager.PrepareAttributes(_messageTokenProvider.GetListOfAllowedTokens(), out errors);
                    if (!string.IsNullOrEmpty(errors))
                    {
                        ErrorNotification(errors);
                    }
                }
                else
                {
                    //need to activate SMTP account
                    ErrorNotification(_localizationService.GetResource("Plugins.Misc.SendInBlue.ActivateSMTP"));
                    model.UseSendInBlueSMTP = false;
                }
            }

            //set whether to use SMTP of SendInBlue service
            sendInBlueSettings.UseSendInBlueSMTP = model.UseSendInBlueSMTP;
            _settingService.SaveSettingOverridablePerStore(sendInBlueSettings, x => x.UseSendInBlueSMTP, model.UseSendInBlueSMTP_OverrideForStore, storeId, false);

            //set sender of transactional emails
            sendInBlueSettings.SMTPSenderId = model.SMTPSenderId;
            _settingService.SaveSettingOverridablePerStore(sendInBlueSettings, x => x.SMTPSenderId, model.SMTPSenderId_OverrideForStore, storeId, false);

            //now clear settings cache
            _settingService.ClearCache();

            SuccessNotification(_localizationService.GetResource("Admin.Plugins.Saved"));

            //select "transactional" tab
            SaveSelectedTabName("tab-transactional");

            return(Configure());
        }