Я использую проверку электронной почты в ASP.NET MVC, но он не работает?
я использую метод электронной почты для проверки в моем asp.net mvc и установите gmail allow app security access level low :on, но все равно он не работает . Он не бросает никаких исключений .Раньше этот код работал отлично, и проверка электронной почты выполнялась корректно, но с последних нескольких дней он не работает .
Что я уже пробовал:
private ActionResult SendEmail(MailMessage mail) { SmtpClient client = new SmtpClient(); client.Host = "smtp.gmail.com"; client.Port = 587; client.EnableSsl = true; client.UseDefaultCredentials = false; client.DeliveryMethod = SmtpDeliveryMethod.Network; client.Credentials = new System.Net.NetworkCredential("emailid,"password"); try { client.Send(mail); } catch (Exception ex) { return RedirectToAction("home"); } return RedirectToAction("home2"); }
public ActionResult sendemail2(string subjectText, string bodyText, string sendTo, string from) { string to, bcc, cc, subject, body; to = sendTo.Trim(); bcc = ""; cc = ""; subject = subjectText; StringBuilder sb = new StringBuilder(); sb.Append(bodyText); body = sb.ToString(); MailMessage mail = new MailMessage(); mail.From = new MailAddress(from); mail.To.Add(new MailAddress(to)); if (!string.IsNullOrEmpty(bcc)) { mail.Bcc.Add(new MailAddress(bcc)); } if (!string.IsNullOrEmpty(bcc)) { mail.Bcc.Add(new MailAddress(cc)); } mail.Subject = subject; mail.Body = body; mail.IsBodyHtml = true; SendEmail(mail); return RedirectToAction("home"); }
public ActionResult sendemail3(string textboxemailid) { string body = System.IO.File.ReadAllText(HostingEnvironment.MapPath("~/EmailTemplate/") + "text" + ".cshtml"); var regInfo = db.xyztables.Where(x => x.emailid == textboxemailid).FirstOrDefault(); var pass = db.xyztables.Where(x => x.emailid == textboxemailid).Select(x => x.password).FirstOrDefault(); body = body.Replace("@ViewBag.pass", pass); body = body.ToString(); string from = "emailid"; sendemail2("Your Details", body, regInfo.emailid, from); Session["check"] = "Please check your email"; return View("check"); }
public void sendemail4(int regid) { string body = System.IO.File.ReadAllText(HostingEnvironment.MapPath("~/EmailTemplate/") + "Text" + ".cshtml"); var regInfo = db.xyztables.Where(x => x.id == regid).FirstOrDefault(); string regem = db.xyztables.Where(x => x.id == regid).Select(x => x.emailid).FirstOrDefault(); var url = "http://xyz.com/" + "xyztables/Confirm?regem="+ regem; body = body.Replace("@ViewBag.ConfirmationLink", url); body = body.ToString(); string from = "emailid"; BuildEmailTemplate("Activate your Account", body, regInfo.emailid,from); } [HttpPost] public ActionResult Signup(string textbox1emailid, string textboxname, string textboxpass , string Create) { var checkdb = db.xyztables.Where(x => x.emailid == textbox1emailid).FirstOrDefault(); if (checkdb == null) { xyztable table = new xyztable(); xyztable.emailid = textbox1emailid.ToString(); xyztable.name = textbox1name.ToString(); xyztable.password = textbox1pass.ToString(); xyztable.emailconfirmed = 0; db.xyztables.Add(xyztable); db.SaveChanges(); sendemail4(xyztable.id); Session["check"] = "Please check your emailid to confirm your Account"; return RedirectToAction("home"); } else { Session["message"] = "Emailid already exists"; return View("Signin"); } }
Richard MacCutchan
Может быть, потому, что gmail не предоставляет неограниченную бесплатную службу обмена сообщениями. Используйте свой собственный провайдер электронной почты и посмотрите, работает ли он лучше.
vivek gupta
ладно.Спасибо.
MadMyche
Было бы полезно узнать полную историю; например, сообщить нам, связано ли это с вашей тестовой учетной записью или с новой учетной записью, которую вы создали?
5 дней назад: "я сделал грубый аккаунт gmail для тестирования и сделал изменения примерно так ,что я забыл ,используя этот gmail, но когда я сделал новый для правильной основы, он не работает"