Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public ActionResult Index()
- {
- return View();
- }
- [HttpPost]
- [ValidateAntiForgeryToken]
- public async Task<ActionResult> Index(EmailFormModel model, IEnumerable<HttpPostedFileBase> files)
- {
- if (ModelState.IsValid)
- {
- List<string> paths = new List<string>();
- foreach (var file in files)
- {
- if (file.ContentLength > 0)
- {
- var fileName = Path.GetFileName(file.FileName);
- var path = Path.Combine(System.Web.HttpContext.Current.Server.MapPath("~/App_Data/uploads"), fileName);
- file.SaveAs(path);
- paths.Add(path);
- }
- }
- var message = new MailMessage();
- foreach (var path in paths)
- {
- var fileInfo = new FileInfo(path);
- var memoryStream = new MemoryStream();
- using (var stream = fileInfo.OpenRead())
- {
- stream.CopyTo(memoryStream);
- }
- memoryStream.Position = 0;
- string fileName = fileInfo.Name;
- message.Attachments.Add(new Attachment(memoryStream, fileName));
- }
- //Rest of business logic here
- string EncodedResponse = Request.Form["g-Recaptcha-Response"];
- bool IsCaptchaValid = (ReCaptcha.Validate(EncodedResponse) == "True" ? true : false);
- if (IsCaptchaValid)
- {
- var body = "<p><b>Email From:</b> {0} ({1})</p><p><b>Subject:</b> {2} </p><p><b>Message:</b></p><p>{3}</p><p><b>Software Description:</b></p><p>{4}</p>";
- message.To.Add(new MailAddress("")); // replace with valid value
- message.From = new MailAddress(""); // replace with valid value
- message.Subject = "(Inquire for SELLING)";
- message.Body = string.Format(body, model.FromName, model.FromEmail, model.FromSubject, model.Message, model.Desc);
- message.IsBodyHtml = true;
- using (var smtp = new SmtpClient())
- {
- var credential = new NetworkCredential
- {
- UserName = "", // replace with valid value
- Password = "" // replace with valid value
- };
- smtp.Credentials = credential;
- smtp.Host = "smtp.live.com";
- smtp.Port = 587;
- smtp.EnableSsl = true;
- smtp.SendCompleted += (s, e) =>
- {
- //delete attached files
- foreach (var path in paths)
- System.IO.File.Delete(path);
- };
- await smtp.SendMailAsync(message);
- ViewBag.Message = "Your message has been sent!";
- ModelState.Clear();
- return View("Index");
- }
- } else
- {
- TempData["recaptcha"] = "Please verify that you are not a robot!";
- }
- } return View(model);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement