Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //
- // POST: /Account/ForgotPassword
- [HttpPost]
- [AllowAnonymous]
- [ValidateAntiForgeryToken]
- public async Task<JsonResult> ForgotPassword(ForgotPasswordViewModel model, bool CaptchaValid)
- {
- string mensaje = String.Empty;
- if (ModelState.IsValid)
- {
- if (!CaptchaValid)
- mensaje = "ERROR: Captcha inválido.";
- else
- {
- var user = await UserManager.FindByEmailAsync(model.Email);
- if (user == null || !(await UserManager.IsEmailConfirmedAsync(user.Id)))
- {
- mensaje = "ERROR: La dirección de correo electrónico no está registrada.";
- }
- else
- {
- var provider = new DpapiDataProtectionProvider("WebAttendance");
- UserManager.UserTokenProvider = new DataProtectorTokenProvider<ApplicationUser, string>(provider.Create("UserToken")) as IUserTokenProvider<ApplicationUser, string>;
- string code = await UserManager.GeneratePasswordResetTokenAsync(user.Id);
- var callbackUrl = Url.Action("ResetPassword", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
- await UserManager.SendEmailAsync(user.Id, "Reset Password", "Por favor, cambie su contraseña al hacer click <a href="" + callbackUrl + "">aquí</a>");
- return Json("INFO: Se envió un mail a su cuenta de correo con instrucciones para cambiar su contraseña.");
- }
- }
- }
- // If we got this far, something failed, redisplay form
- return Json(mensaje);
- }
- <system.net>
- <mailSettings>
- <smtp from="info@xxx.com">
- <network host="mail.desytec.cl" password="xxxx" port="587" userName="yyy@xxx.cl" enableSsl="false"/>
- </smtp>
- </mailSettings>
- </system.net>
- public class EmailService : IIdentityMessageService {
- public Task SendAsync(IdentityMessage message) {
- // Plug in your email service here to send an email.
- return Task.FromResult(0);
- }
- }
- // code from https://stackoverflow.com/questions/40674457/how-to-configure-sender-email-credentials-for-asp-net-identity-usermanager-sende
- public async Task SendAsync(IdentityMessage message) {
- // Plug in your email service here to send an email.
- SmtpClient client = new SmtpClient();
- await client.SendMailAsync("email from web.config here",
- message.Destination,
- message.Subject,
- message.Body);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement