public JsonResult Reply(EmailIM vm) { if (!ModelState.IsValid) { AR.Setfailure(GetModelErrorMessage()); return(Json(AR, JsonRequestBehavior.DenyGet)); } var smtp = _emailAccountServices.GetElements().Where(m => m.IsDefault).FirstOrDefault(); if (smtp == null) { AR.SetWarning(Messages.SetDefaultEmailAccount); return(Json(AR, JsonRequestBehavior.DenyGet)); } try { _emailingService.SendMail(SettingsManager.Site.SiteName, SettingsManager.Site.MailTo, vm.MailTo, string.Empty, vm.Subject, vm.Body, smtp.Smtpserver, smtp.Email, SettingsManager.Site.SiteName, smtp.UserName, EncryptionHelper.Decrypt(smtp.Password), smtp.Port, smtp.EnableSsl); AR.SetSuccess(String.Format(Messages.AlertSendSuccess, EntityNames.Email)); return(Json(AR, JsonRequestBehavior.DenyGet)); } catch (Exception er) { AR.Setfailure(er.Message); return(Json(AR, JsonRequestBehavior.DenyGet)); } //var result = _emailService.SendMail(SettingsManager.Site.SiteName, vm.MailTo, vm.Subject, vm.Body); }
public ActionResult Reply(int id) { Email email = _emailServices.GetById(id); if (email == null) { AR.Setfailure(Messages.HttpNotFound); return(Json(AR, JsonRequestBehavior.AllowGet)); } EmailIM vm = new EmailIM() { Subject = $"回复:{email.Subject}", MailTo = email.MailTo, Body = $"<p></p><blockquote>{email.Body}</blockquote>" }; return(View(vm)); }
public async Task <JsonResult> SendEmail(EmailIM vm) { if (!ModelState.IsValid) { AR.Setfailure(GetModelErrorMessage()); return(Json(AR, JsonRequestBehavior.DenyGet)); } if (Session["SigCaptcha"] != null && Session["SigCaptcha"].ToString().ToLower() != vm.CaptchaText.ToLower()) { ModelState.AddModelError(string.Empty, "验证码不正确!"); AR.Setfailure(GetModelErrorMessage()); return(Json(AR, JsonRequestBehavior.DenyGet)); // return View(model); } var template = await _db.EmailTemplateSets.FirstOrDefaultAsync(d => d.TemplateNo == "T003"); // _templateService.GetEmailTemplateByTemplateNo("T003"); if (template == null) { AR.Setfailure(string.Format(Messages.NoEmailTemplate, "T003")); return(Json(AR, JsonRequestBehavior.DenyGet)); } vm.Subject = SettingsManager.Site.SiteName + "联系邮件"; var emailBody = ReplaceTemplate(template.Body); emailBody = emailBody.Replace("{Name}", vm.Name); emailBody = emailBody.Replace("{Phone}", vm.Phone); emailBody = emailBody.Replace("{Email}", vm.Email); emailBody = emailBody.Replace("{Message}", vm.Body); var emailAccount = await _db.EmailAccountSets.FindAsync(template.EmailAccountId); //_accountService.GetById(template.EmailAccountId); try { EmailSet email = new EmailSet { Body = emailBody, Subject = vm.Subject, MailTo = vm.Email, MailCc = string.Empty, Active = true, CreatedBy = vm.Name, CreatedDate = DateTime.Now }; _db.EmailSets.Add(email); await _db.SaveChangesAsync(); // _emailListService.Create(email); _emailService.SendMail(vm.Name, vm.Email, SettingsManager.Site.MailTo, string.Empty, vm.Subject, emailBody, emailAccount.Smtpserver, emailAccount.Email, SettingsManager.Site.SiteName, emailAccount.UserName, EncryptionHelper.Decrypt(emailAccount.Password), (int)emailAccount.Port, emailAccount.EnableSsl); AR.SetSuccess(Messages.EmailSentSuccess); return(Json(AR, JsonRequestBehavior.DenyGet)); } catch (Exception er) { AR.Setfailure(er.Message); return(Json(AR, JsonRequestBehavior.DenyGet)); } }