public IActionResult NewPassword(string email)
        {
            if (string.IsNullOrEmpty(email))
            {
                return(BadRequest());
            }

            User user = _userRepository.List().FirstOrDefault(x => x.Email.ToLower() == email.ToLower());

            if (user == null)
            {
                return(NotFound());
            }

            ResetToken resetToken = new ResetToken {
                UserId = user.Id, Expirated = DateTimeOffset.Now.AddHours(2)
            };
            string token = _tokenHelper.Generate <ResetToken>(resetToken);

            SmtpClientHelper smtpClientHelper = new SmtpClientHelper("587",
                                                                     "smtp.sendgrid.net",
                                                                     _configuration["SMTP_USERNAME"],
                                                                     _configuration["SMTP_PASSWORD"]);

            string body    = String.Format("?token=" + token);
            string subject = "RESETAR SENHA - CMMG";

            smtpClientHelper.Send(new MailAddress(_configuration["EMAIL_SENDER"]),
                                  new MailAddress(email),
                                  body,
                                  subject);

            return(new OkResult());
        }
示例#2
0
        private async void SendMessage()
        {
            try
            {
                IsSending = true;
                var appFolder  = string.Empty;
                var dataFolder = string.Empty;

                if (AttachLog)
                {
                    appFolder  = AppDomain.CurrentDomain.BaseDirectory;
                    dataFolder = StringFormatter.GetAppDataFolderPath();
                }

                using (var message = SmtpClientHelper.ComposeSupportEmail(UserName, UserEmail, UserMessage, appFolder, dataFolder, SendAdvancedLog))
                {
                    using (var client = SmtpClientHelper.GetSmtpClient())
                    {
                        await client.SendMailAsync(message);
                    }
                }

                RaiseMessage("Support", "The message has been sent.");
            }
            catch (Exception ex)
            {
                RaiseMessage("Support", "Failed to send message.");
                LogProvider.Log.Error(ex);
            }

            IsSending = false;
        }
示例#3
0
        private async void SendMessage()
        {
            try
            {
                IsSending = true;

                using (var message = SmtpClientHelper.ComposeSupportEmail(UserName, UserEmail, UserMessage, AppDomain.CurrentDomain.BaseDirectory, StringFormatter.GetAppDataFolderPath()))
                    using (var client = SmtpClientHelper.GetSmtpClient())
                    {
                        await client.SendMailAsync(message);
                    }

                RaiseMessage("Support", "The message has been sent.");
            }
            catch (Exception ex)
            {
                RaiseMessage("Support", "Failed to send message.");
                LogProvider.Log.Error(ex);
            }
            finally
            {
                OnClose?.Invoke();
            }

            IsSending = false;
        }