با سلام
زمانی که ثبت نام در سایت را انجام میدم و میخوام که تائیدی به ایمیل فرستاده بشه یک خطای زیر نشون میده.
یکی از راه حل ها تو سایت stack over flow گفته که باید Less secure app جیملتان را on کنید که این کار رو کردم ولی جواب نداد.
خطای که نمایش میدهد.
The SMTP server requires a secure connection or the client was not authenticated. The server response
was: 5.7.0 Authentication Required. Learn more at
که در قسمت منبع خطا، این خطا را نشان میدهد.
Source Error:
Line 158: await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking this link: <a href=\"" + callbackUrl + "\">link</a>");
کدی که در کلاس EmailService است.
public class EmailService : IIdentityMessageService
{
public Task SendAsync(IdentityMessage message)
{
MailMessage mail = new MailMessage();
SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");
mail.From = new MailAddress("Example@gmail.com", "گروه برنامه نویسیان");
mail.To.Add(message.Destination);
mail.Subject = message.Subject;
mail.Body = message.Body;
mail.IsBodyHtml = true;
// System.Net.Mail.Attachment attachment;
// attachment = new System.Net.Mail.Attachment("c:/textfile.txt");
// mail.Attachments.Add(attachment);
SmtpServer.Port = 587;
SmtpServer.UseDefaultCredentials = true ;
SmtpServer.Credentials = new System.Net.NetworkCredential("Example@gm ail.com", "password");
SmtpServer.EnableSsl = true;
//SmtpServer.Send(mail);
return SmtpServer.SendMailAsync(mail);
//return Task.FromResult(0);
}
}
میتودی که در کنترولر Account مربوط به تائیدی ایمیل است و Source Error که به آن اشاره میکند در خط await UserManager است.
public async Task<ActionResult> Register(RegisterViewModel model)
{
if (ModelState.IsValid)
{
var user = new ApplicationUser { UserName = model.Email, Email = mo del.Email };
var result = await UserManager.CreateAsync(user, model.Password);
if (result.Succeeded)
{
var code = await UserManager.GenerateEmailConfirmationTokenAsy nc(user.Id);
var callbackUrl = Url.Action("ConfirmEmail", "Account", new { u serId = user.Id, code = code }, protocol: Request.Url.Scheme);
await UserManager.SendEmailAsync(user.Id, "Confirm your accoun t", "Please confirm your account by clicking this link: <a href =\"" + callbackUrl + "\">link</a>");
ViewBag.Link = callbackUrl;
return View("DisplayEmail");
}
AddErrors(result);
}
// If we got this far, something failed, redisplay form
return View(model);
}
سلام
این ارور احراز هویت جیمیل هست
متن خطا رو سرچ کنید و راه حل ها رو دنبال کنید
با تشکر از جواب دندان شکن استاد عزیز، مجبور شدم دوباره خط به خط کدهای صفحه رو چک کنم که فهمیدم مقدار پسورد را اشتباه وارد کردم و این خطا مربوط به وارد کردن مقدار اشتباه در پسورد بوده، بازم ممنون استاد