public Task SendEmailAsync(string email, string subject, string message, string template)
        {
            var strMessageBody = BuildEmailBody(message, template, subject);

            // Check for Default emails Sending Options from App settings
            if (_sendGridOptions.IsDefault)
            {
                _commonFunction.SendEmailBySendGridAsync(_sendGridOptions.SendGridKey, _sendGridOptions.FromEmail, _sendGridOptions.FromFullName, subject, strMessageBody, email).Wait();
            }

            if (!_smtpOptions.IsDefault)
            {
                return(Task.CompletedTask);
            }

            if (!string.IsNullOrEmpty(strMessageBody))
            {
                // Then we need to send email using SMTP
                _commonFunction.SendEmailByGmailAsync(_smtpOptions.FromEmail,
                                                      _smtpOptions.FromFullName,
                                                      subject,
                                                      strMessageBody,
                                                      email,
                                                      email,
                                                      _smtpOptions.SmtpUserName,
                                                      _smtpOptions.SmtpPassword,
                                                      _smtpOptions.SmtpHost,
                                                      _smtpOptions.SmtpPort,
                                                      _smtpOptions.SmtpSsl).Wait();
            }

            return(Task.CompletedTask);
        }