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());
		}
Example #2
0
		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;
			}
		}