Как отправить электронную почту с помощью верификации asp.ne MVC
я пытаюсь отправить подтверждение электронной почты с помощью этого кода ,он не дает никаких ошибок, но электронные письма не отправляются. Я также установил свой gmail разрешить менее безопасные приложения: ВКЛ.
Что я уже пробовал:
using System; using System.Collections.Generic; using System.Data; using System.Data.Entity; using System.Linq; using System.Net; using System.Net.Mail; using System.Text; using System.Web; using System.Web.Hosting; using System.Web.Mvc; using xyz.Models; using PagedList; using PagedList.Mvc;
[HttpPost] public ActionResult Signup(string textbox1emailid, string textbox1name, string textbox1pass , string Create) { var checkdb = db.xyz.Where(x => x.emailid == textbox1emailid).FirstOrDefault(); if (checkdb == null) { xyz xyz = new xyz(); xyz.emailid = textbox1emailid.ToString(); xyz.name = textbox1name.ToString(); xyz.password = textbox1pass.ToString(); xyz.emailconfirmed = 0; db.datatables.Add(xyz); db.SaveChanges(); string body = System.IO.File.ReadAllText(HostingEnvironment.MapPath("~/EmailTemplate/") + "Text" + ".cshtml"); var regInfo = db.xyz.Where(x => x.id == xyz.id).FirstOrDefault(); string regem = db.xyz.Where(x => x.id == xyz.id).Select(x => x.emailid).FirstOrDefault(); var url = "http://xyz.com/" + "xyz/Confirm?regem="+ regem; body = body.Replace("@ViewBag.ConfirmationLink", url); body = body.ToString(); string from = "xyz@gmail.com"; string to, bcc, cc, subject, body1; string sendTo = regInfo.emailid; to = sendTo.Trim(); bcc = ""; cc = ""; subject = "Activate your Account"; StringBuilder sb = new StringBuilder(); sb.Append(body); body1 = 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 = body1; mail.IsBodyHtml = true; 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("xyz@gmail.com","password"); try { client.Send(mail); return RedirectToAction("check"); } catch (Exception ex) { return RedirectToAction("Details"); } return RedirectToAction("Details"); } } else { Session["message"] = "Emailid already exists"; return View("Signin"); } }
F-ES Sitecore
Этот вопрос задают ежедневно. Google для получения списка проблем, которые вы будете иметь при отправке электронной почты через gmail, очень маловероятно, что ваша проблема является чем-то новым. Однако окончательный ответ заключается в том, чтобы вообще не отправлять электронную почту через gmail, а использовать SMTP-сервер, предоставленный вашим сетевым администратором или веб-хостингом.
vivek gupta
хорошо спасибо
Vikram Motwani
проверьте эту ссылку ASP MVC 5 подтверждение регистрации по электронной почте в C#, HTML для Visual Studio 2012[^] это может помочь
vivek gupta
спасибо за ваш ответ