public virtual ActionResult Index(string email) { var id = _users.GetUserIdByEmail(email.Trim()); if(!id.HasValue) { ModelState.AddModelError("email", Validation.UserNotFound); return View(); } var key = Guid.NewGuid().ToString(); SaveKey(id.Value, key); var url = Url.Action(MVC.RestorePassword.NewPassword(id.Value, key), "http"); var message = new EmailMessage( Pages.RestorePassword, string.Format(Pages.RestorePasswordText, url), EmailsHelper.DefaultFrom, email.Trim(), id.Value) { CopyTo = null, Files = null, IsBodyHtml = true }; _sender.Send(message); return RedirectToAction(MVC.RestorePassword.Finish()); }
public decimal GetEuroToRuble(string url) { try { return _courseSource.GetEuroToRuble(url); } catch(Exception e) { if(!string.IsNullOrWhiteSpace(_supportEmail)) { var body = "Не удалось обновить курс евро из " + url + Environment.NewLine + e; var message = new EmailMessage( "Alicargo. Ошибка обновления курса", body, _fromEmail, _supportEmail, null); _sender.Send(message); } throw; } }