public virtual async Task SendAsync(string type, string receiver) { await BeforeSendAsync(type, receiver); var code = await CaptchaGenerator.CreateAsync(); var receiverType = receiver.Contains("@") ? EnumReceiverType.Email : EnumReceiverType.PhoneNumber; string expireSecondSettingName = receiverType == EnumReceiverType.Email ? AbpCaptchaSettings.EmailCaptchaExpireSeconds : AbpCaptchaSettings.SmsCaptchaExpireSeconds; int expireSeconds = await SettingProvider.GetAsync(expireSecondSettingName, 60); var captcha = new Captcha(type, code, receiver, receiverType, Clock.Now, expireSeconds, CurrentTenant.Id); bool sendResult = receiverType == EnumReceiverType.Email ? await EmailCaptchaSender.SendAsync(captcha) : await SmsCaptchaSender.SendAsync(captcha); if (!sendResult) { throw new BusinessException(CaptchaErrorCodes.SendFailed); } await CaptchaStore.CreateAsync(captcha); }
public virtual Task <bool> SendAsync(Captcha captcha) { Logger.LogWarning($"Email Captcha Sending was not implemented! Using {nameof(DefaultCaptchaManager)}:"); Logger.LogWarning("Captcha :{@captcha} ", captcha); return(Task.FromResult(true)); }