دسته بندی ها
21:55 1398/08/12

فعالسازی اکانت با استفاده از ایمیل در Asp.net Core

مشخصات سوال کننده :
کاربر : hamid_b     امتیاز کاربر : 510     رتبه کاربر : 4
دسته بندی : Asp.net Core Asp.net Mvc

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 4874
پاسخ دهنده : fateme 22:14 1398/08/13

فعالسازی اکانت با استفاده از ایمیل در Asp.net Core

برای ارسال ایمیل فعالسازی به محض ثبت نام کاربر در سایت باید یک ایمیل به کاربر ارسال کنید. در این ایمیل باید یک Token که مخصوص همین کاربر ایجاد می شود را تولید کنید. در ادامه کدهای مربوط به این کار رو قرار میدم و به توضیح کدها برای شما می پردازم.

 

if (registerResult.Succeeded)
{
   //Send Activation Email
   var code = await _userManager.GenerateEmailConfirmationTokenAsync(user);
   var callbackUrl = Url.Action("ConfirmEmail", "Home", values: new { userId = user.Id, code = code }, protocol: Request.Scheme);
   await _emailSender.SendEmailAsync(model.registerVM.Email, "ایمیل فعالسازی", $" <a href='{HtmlEncoder.Default.Encode(callbackUrl)}'>لینک فعالسازی</a>");
   return RedirectToAction("SendToEmailMessage", "Home");
}

 

در قطعه کد بالا به ترتیب کارهای زیر انجام می شود

  • در متغیر code توسط دستورات آیدنتیتی یک Token مخصوص کاربر ایجاد می کنیم.
  • در متغیر CallBackUrl آدرس برگشت کاربر به سایت را پس از کلیک کردن روی لینک فعالسازی مشخص می کنیم. همچنین در این خط توکن تولید شده را هم نگهداری می کنیم و Id کاربر تا وقتی کاربر پس از کلیک کردن روی لینک به سایت برگشت مطمئن شویم کاربر همان کاربر است.
  • در خط سوم هم ایمیل را ارسال می کنیم. (برای ارسال ایمیل می تونید به این لینک مراجعه کنید.)
  • در خط آخر هم کاربر را پس از ثبت نام به مسیر دلخواه هدایت می کنیم.

شما به این صورت می تونید فعالسازی اکانت با استفاده از ایمیل در Asp.net Core را انجام بدید.

ویرایش شده در پنج شنبه 24 شهریور 1401 ساعت 18:54:31
به این پاسخ امتیاز بدهید    0
امتیاز: 1617 رتبه: 2
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود