public string SendEmail(EmailSendModel ReqEmail) { try { //EmailSendModel Email = new EmailSendModel(); //Email.Html = "Body"; ReqEmail.SenderType = System.Configuration.ConfigurationSettings.AppSettings["SenderType"]; //Email.Subject = "testing"; ReqEmail.From = System.Configuration.ConfigurationSettings.AppSettings["Fugue"]; //ReqEmail.To = "*****@*****.**"; //ReqEmail.Cc = "*****@*****.**"; ReqEmail.Cc = "*****@*****.**"; //ReqEmail.Bcc = "*****@*****.**"; ReqEmail.Bcc = "*****@*****.**"; string Url = System.Configuration.ConfigurationSettings.AppSettings["MailDomineUrl"]; string EmailApi = System.Configuration.ConfigurationSettings.AppSettings["EmailApi"]; RestClient client = new RestClient(); client.BaseUrl = new Uri(Url); RestRequest request = new RestRequest(EmailApi, Method.POST); request.AddObject(ReqEmail); //request.AddBody(ReqEmail); var response = client.Execute(request); string datareturn = Convert.ToString(response.ResponseStatus); return(datareturn); //return null; } catch (Exception Ex) { return(Ex.Message); } }
public ActionResult SendTestMail(EmailSendModel send) { send.MailTitle = "test"; send.MailContent = "this email is from QRQC test system!"; var result = EmailHelper.Send(send); return(Json(result)); }
public static EmailSendResult Send(EmailSendModel send) { var result = new EmailSendResult() { IsSuccessful = false }; var appSettings = ConfigurationManager.AppSettings; var smtpHost = string.IsNullOrEmpty(appSettings["SmtpHost"]) ? string.Empty : appSettings["SmtpHost"]; var smtpPort = string.IsNullOrEmpty(appSettings["SmtpPort"]) ? 25 : Convert.ToInt32(appSettings["SmtpPort"]); var account = string.IsNullOrEmpty(appSettings["EmailAccount"]) ? string.Empty : appSettings["EmailAccount"]; var password = string.IsNullOrEmpty(appSettings["EmailPw"]) ? string.Empty : appSettings["EmailPw"]; //简单邮件传输协议类 SmtpClient client = new SmtpClient(); client.Host = smtpHost; //邮件服务器 client.Port = smtpPort; //smtp主机上的端口号,默认是25. client.UseDefaultCredentials = false; //if (!string.IsNullOrEmpty(password)) //{ //邮件发送方式:通过网络发送到SMTP服务器 client.DeliveryMethod = SmtpDeliveryMethod.Network; //凭证,发件人登录邮箱的用户名和密码 client.Credentials = new NetworkCredential(account, password); //} client.EnableSsl = false; //电子邮件信息类 MailAddress fromAddress = new MailAddress(account, "QRQC System"); //发件人Email,在邮箱是这样显示的,[发件人:小明<*****@*****.**>;] MailAddress toAddress = new MailAddress(send.MailAddress, string.Empty); //收件人Email,在邮箱是这样显示的, [收件人:小红<*****@*****.**>;] MailMessage mailMessage = new MailMessage(fromAddress, toAddress); //创建一个电子邮件类 mailMessage.Subject = send.MailTitle; //string filePath = Server.MapPath("/index.html");//邮件的内容可以是一个html文本. //System.IO.StreamReader read = new System.IO.StreamReader(filePath, System.Text.Encoding.GetEncoding("GB2312")); //string mailBody = read.ReadToEnd(); //read.Close(); mailMessage.Body = send.MailContent; //可为html格式文本 //mailMessage.Body = "邮件的内容";//可为html格式文本 mailMessage.SubjectEncoding = Encoding.UTF8; //邮件主题编码 mailMessage.BodyEncoding = Encoding.UTF8; //邮件内容编码 mailMessage.IsBodyHtml = true; //邮件内容是否为html格式 mailMessage.Priority = MailPriority.High; //邮件的优先级,有三个值:高(在邮件主题前有一个红色感叹号,表示紧急),低(在邮件主题前有一个蓝色向下箭头,表示缓慢),正常(无显示). try { client.Send(mailMessage);//发送邮件 result.IsSuccessful = true; //client.SendAsync(mailMessage, "ojb");异步方法发送邮件,不会阻塞线程. } catch (Exception ex) { result.Message = ex.Message; result.ExceptionMessage = ex.ToString(); } return(result); }
public ActionResult ContactAdmin(string username) { var send = new EmailSendModel() { MailTitle = "reset the password", MailContent = string.Format("Account:{0} need to reset the password", username) }; var result = EmailHelper.SendToSystemAdmin(send); return(Json(result)); }
public async Task SendEmailAsync(EmailSendModel email) { var emailMessage = BuildEmail(email); var apiKey = sendGridConfig.ApiKey; var client = new SendGridClient(apiKey); var response = await client.SendEmailAsync(emailMessage); if (!response.StatusCode.Equals(HttpStatusCode.Accepted)) { throw new HttpRequestException($"Could not send email. HttpStatusCode: {response.StatusCode}, Error: {response.Body}"); } }
public IActionResult SendMail(EmailSendModel model) { var emails = model.SendToEmails.Split(','); foreach (var email in emails) { this.emailSender.SendEmailAsync(email.Trim(), model.EmailTitle, model.EmailMessage); System.Threading.Thread.Sleep(300); // todo: use queue } return(this.RedirectToAction("index")); }
public IActionResult Send([FromBody] EmailSendModel model) { try { if (!ModelState.IsValid) { var modelErrors = ModelState .Values .SelectMany(v => v.Errors) .Select(er => er.ErrorMessage) .Aggregate((aggregatedValue, nextValue) => aggregatedValue += " " + nextValue); return(StatusCode( StatusCodes.Status500InternalServerError, new { success = false, message = modelErrors })); } var emailServiceOptions = new EmailServiceOptions { FromEmail = model.Email, FromName = model.Name, To = _to, Subject = _subject, TextFormat = TextFormat.Html, Body = model.Message, AuthenticationLogin = _emailLogin, AuthenticationPassword = _emailPassword, Host = _host, Port = _port, UseSSL = _useSSL }; var emailService = new EmailService(emailServiceOptions); var sendResult = emailService.Send(); if (sendResult.Success) { return(Ok(new { success = true, message = sendResult.Message })); } return(StatusCode(StatusCodes.Status500InternalServerError, new { success = false, message = sendResult.Message })); } catch (Exception exception) { return(StatusCode( StatusCodes.Status500InternalServerError, new { success = false, message = exception.Message })); } }
public static EmailSendResult SendToSystemAdmin(EmailSendModel send) { var result = new EmailSendResult() { IsSuccessful = false }; var appSettings = ConfigurationManager.AppSettings; send.MailAddress = string.IsNullOrEmpty(appSettings["SystemAdminEmail"]) ? string.Empty : appSettings["SystemAdminEmail"]; if (string.IsNullOrEmpty(send.MailAddress)) { result.Message = "please config the System Admin Email"; return(result); } result = Send(send); return(result); }
private SendGridMessage BuildEmail(EmailSendModel emailData) { var senderEmail = BuildEmailAddress(emailData.SenderEmail, emailData.SenderName); var receiverEmail = BuildEmailAddress(emailData.ReceiverEmail, emailData.ReceiverName); var mailTextContent = emailData.Message; var emailMessage = MailHelper.CreateSingleEmail( senderEmail, receiverEmail, emailData.Subject, mailTextContent, null); emailMessage.TrackingSettings = CreateTrackingSettings(); AddSubstitutionsToEmailMessage(emailMessage, emailData.Substitutions); return(emailMessage); }
public ActionResult SendFileByEmail(EmailSendModel emailModel) { if (ModelState.IsValid) { try { var messageAttachment = new FileModel(_fileservice.GetFileWhithContent(emailModel.FileId), true); string from = "**********"; using (MailMessage mail = new MailMessage(from, emailModel.RecipientsEmail)) using (var stream = new MemoryStream(messageAttachment.FileContent)) { mail.Subject = emailModel.Subject; mail.Attachments.Add(new Attachment(stream, messageAttachment.FileName, messageAttachment.ContentType)); NetworkCredential networkCredential = new NetworkCredential(from, "***********"); SmtpClient smtp = new SmtpClient(); smtp.Host = "smtp.gmail.com"; smtp.EnableSsl = true; smtp.UseDefaultCredentials = false; smtp.DeliveryMethod = SmtpDeliveryMethod.Network; smtp.Credentials = networkCredential; smtp.Port = 587; smtp.Send(mail); return Json(string.Empty, JsonRequestBehavior.AllowGet); } } catch { Response.StatusCode = 400; var error = new ErrorModel(); error.ErrorID = 123; error.Message = "Mail is invalid"; return Json(error, JsonRequestBehavior.AllowGet); } } else { Response.StatusCode = 400; // Replace .AddHeader var error = new ErrorModel(); // Create class Error() w/ prop error.ErrorID = 2; error.Message = "Something went wrong!"; return Json(error, JsonRequestBehavior.AllowGet); } }
public EmailSendModel GetTodayData() { var emailSendModel = new EmailSendModel(); using (var db = new MangningXssDBEntities()) { var todayTime = DateTime.UtcNow.AddHours(-24); var dayOfWeek = (int)DateTime.Now.DayOfWeek; if (dayOfWeek == 0) { dayOfWeek = 7; } var dayOfWeekTime = DateTime.Today.AddDays(-(dayOfWeek - 1)); var query = from a in db.ZhaopinResume join b in db.ZhaopinUser on a.UserId equals b.Id where !string.IsNullOrEmpty(b.Cellphone) && a.UpdateTime > todayTime select a; emailSendModel.ResumeCount = query.Count(); emailSendModel.DeliverCount = query.Count(w => w.Source.Contains("Deliver")); var time = DateTime.Today.AddDays(-1); emailSendModel.UploadCount = db.ZhaopinResumeUploadLog.Count(w => w.UploadTime > time && !string.IsNullOrEmpty(w.Tag)); emailSendModel.CreateCount = db.ZhaopinResumeUploadLog.Count(w => w.UploadTime > time && w.Tag == "C"); emailSendModel.UpdateCount = db.ZhaopinResumeUploadLog.Count(w => w.UploadTime > time && w.Tag != "C" && !string.IsNullOrEmpty(w.Tag)); emailSendModel.SurplusCount = db.ZhaopinResume.Count(w => w.Flag == 14); emailSendModel.NoJsonCount = db.ZhaopinResume.Count(w => w.UpdateTime > todayTime && w.Flag == 2); emailSendModel.AvgCreateCount = db.ZhaopinResumeUploadLog.Count(w => w.UploadTime > dayOfWeekTime && w.Tag == "C") / (dayOfWeek - 1); } return(emailSendModel); }
public async Task <IActionResult> SendAsync([FromBody] EmailSendModel model) { foreach (var email in model.Emails) { if (!email.IsValidEmail()) { return(BadRequest(ErrorResponse.Create("Some of the emails is not valid"))); } } bool result = await _emailService.SendAsync(model.InvoiceId, model.CheckoutUrl, model.Emails.Select(x => x.Trim()).ToList()); if (result) { return(NoContent()); } return(BadRequest(ErrorResponse.Create(PayInvoicePortalApiErrorCodes.UnexpectedError))); }
public async Task <ActionResult> SendEmail(EmailSendModel model) { try { if (ModelState.IsValid) { var body = "<p>Email From: {0} ({1})</p><p>Message:</p><p>{2}</p>"; var message = new MailMessage(); message.To.Add(new MailAddress("*****@*****.**")); // replace with valid value message.From = new MailAddress(model.SenderEmail); // replace with valid value message.Subject = "Test Email From ASP.NET MVC"; message.Body = string.Format(body, model.SenderName, model.SenderEmail, model.Message); message.IsBodyHtml = true; using (var smtp = new SmtpClient()) { //var credential = new NetworkCredential //{ // UserName = "******", // replace with valid value // Password = "******" // replace with valid value //}; // This credentials is set in web.config file... //smtp.Credentials = credential; //smtp.Host = "smtp.emailsrvr.com"; //smtp.Port = 587; //smtp.EnableSsl = false; await smtp.SendMailAsync(message); return(RedirectToAction("Sent")); } } return(View(model)); } catch (Exception) { throw; } }
/// <summary> /// Sends email /// </summary> /// <param name="model"></param> /// <returns></returns> public bool EmailSend(EmailSendModel model) { SmtpClient client = new SmtpClient { DeliveryMethod = SmtpDeliveryMethod.Network, EnableSsl = true, Host = "smtp.gmail.com", Port = 587 }; var credentials = new NetworkCredential("*****@*****.**", "Abcd!123"); client.UseDefaultCredentials = false; client.Credentials = credentials; var mailMessage = new MailMessage { From = new MailAddress("*****@*****.**", model.DisplayName) }; mailMessage.To.Add(model.To); mailMessage.Subject = model.Subject; mailMessage.IsBodyHtml = true; mailMessage.Body = model.Body; try { client.Send(mailMessage); return(true); } catch (Exception) { } return(false); }
public ActionResult EmailCreate(EmailSendModel data) { if (!ModelState.IsValid) { return(View()); } using (THUONGMAIDIENTUEntities db = new THUONGMAIDIENTUEntities()) { EMAIL e = new EMAIL(); e.EmailTitle = data.title; e.EmailContent = data.content; db.EMAILs.Add(e); db.SaveChanges(); foreach (var customer in db.CUSTOMERs.ToList()) { CUSTOMER_EMAIL c = new CUSTOMER_EMAIL(); c.IdCustomer = customer.IdCustomer; e.CUSTOMER_EMAIL.Add(c); try { SendMail.Send(data.title, data.content, customer, e.IdEmail); c.IsRead = false; } catch (Exception ex) { } } db.SaveChanges(); } return(RedirectToAction("Email")); }
public string TEEscalationMails() { DateTime Today = System.DateTime.Today; int cnt = 0; List <TEComplainceModel> teissueresult = Mgr.GetIssues().Where(x => !IssuesStatus.EscalationStatus.Contains(x.Status)).ToList(); List <TEComplainceModel> escalatedissueresult = new List <TEComplainceModel>(); List <TEEmpBasicInfo> ManagerList = new List <TEEmpBasicInfo>(); foreach (TEComplainceModel item in teissueresult) { DateTime EscalationDate = System.DateTime.Today; TEQueueDepartment Escalation = db.TEQueueDepartments.Where(x => x.QueueID == item.QueueID && x.CategoryID == item.CategoryID).FirstOrDefault(); try { if (Escalation != null) { if (item.PriorityName == "Normal") { EscalationDate = item.CreatedOn.AddDays(Convert.ToDouble(Escalation.SLAMedium)); item.issuePriority = 3; } else if (item.PriorityName == "Critical") { EscalationDate = item.CreatedOn.AddDays(Convert.ToDouble(Escalation.SLAHigh)); item.issuePriority = 2; } else if (item.PriorityName == "Emergency") { EscalationDate = item.CreatedOn.AddDays(Convert.ToDouble(Escalation.SLACritical)); item.issuePriority = 1; } } if (Today > EscalationDate) { TimeSpan difference = Today - item.CreatedOn.Date; item.Age = Convert.ToInt32(difference.TotalDays); UserProfile Assige = new UserProfile(); Assige = db.UserProfiles.Where(x => x.UserId == item.AssignedTo).FirstOrDefault(); string AssigneUserId = Convert.ToString(item.AssignedTo); TEEmpBasicInfo AssigneBasic = null; if (Assige != null) { AssigneBasic = new TEEmpBasicInfo(); AssigneBasic = db.TEEmpBasicInfoes.Where(x => x.UserId == Assige.UserName).FirstOrDefault(); } TEEmpAssignmentDetail AssigneDetails = null; if (AssigneBasic != null) { AssigneDetails = new TEEmpAssignmentDetail(); AssigneDetails = db.TEEmpAssignmentDetails.Where(x => x.TEEmpBasicInfo == AssigneBasic.Uniqueid && x.IsDeleted == false && x.Status == "Active").FirstOrDefault(); } if (AssigneDetails != null) { TEEmpBasicInfo ManagerBasic = db.TEEmpBasicInfoes.Find(AssigneDetails.TEEmpBasicInfo_ReportingTo); if (ManagerBasic != null) { item.AssigneManagerId = ManagerBasic.Uniqueid; item.AssigneManagerName = ManagerBasic.FirstName + " " + ManagerBasic.LastName; ManagerList.Add(ManagerBasic); } } escalatedissueresult.Add(item); } } catch (Exception ex) { return(ex.Message); } } ManagerList = ManagerList.Distinct().Where(a => a.OfficialEmail != null).ToList(); foreach (TEEmpBasicInfo basicitem in ManagerList) { EmailSendModel SendDetails = new EmailSendModel(); var potemp1 = db.TEEmailTemplates.Where(x => x.ModuleName == "TicketEscalation").FirstOrDefault(); string bodytag = ""; foreach (TEComplainceModel item in escalatedissueresult.OrderBy(x => x.issuePriority).ThenByDescending(x => x.Age).Where(x => x.AssigneManagerId == basicitem.Uniqueid).ToList()) { try { bodytag = bodytag + "<tr style='font-size: 9pt !important;'><td style='text-align:right;'>@ticket number@</td><td>@Category@</td><td>@Requestor Name@</td><td>@Requestor Date@</td><td>@Priority@</td><td>@Resolution Date@</td><td style='text-align:right;'>@Age@</td><td>@Technician name@</td><td>@Description@</td></tr>"; bodytag = bodytag.Replace("@ticket number@", item.Uniqueid.ToString()); bodytag = bodytag.Replace("@Requestor Name@", (item.RaisedByName)); bodytag = bodytag.Replace("@Requestor Date@", item.CreatedOn == null ? "" : String.Format("{0:dd-MM-yyyy}", item.CreatedOn)); bodytag = bodytag.Replace("@Manager Name@", item.AssigneManagerName); bodytag = bodytag.Replace("@Category@", item.Categoryname); bodytag = bodytag.Replace("@Priority@", item.PriorityName); bodytag = bodytag.Replace("@Resolution Date@", item.Estimated_Close_date == null ? "" : String.Format("{0:dd-MM-yyyy}", item.Estimated_Close_date)); bodytag = bodytag.Replace("@Description@", item.Descritpion); bodytag = bodytag.Replace("@Technician name@", item.AssignToName); bodytag = bodytag.Replace("@Age@", item.Age.ToString()); } catch (Exception ex) { return(ex.Message); } } SendDetails.Subject = potemp1.Subject; SendDetails.Html = potemp1.EmailTemplate.Replace("@bodytag@", bodytag); SendDetails.Html = SendDetails.Html.Replace("@Manager Name@", basicitem.FirstName + " " + basicitem.LastName); SendDetails.To = basicitem.OfficialEmail; EmailMgr.SendEmail(SendDetails); } return("Success"); }
/// <summary> /// Sends Push /// </summary> /// <param name="model"></param> /// <returns></returns> public bool PushSend(EmailSendModel model) { throw new System.NotImplementedException(); }