/// <summary> /// Sends an email /// </summary> /// <param name="emailParam">emailParam</param> /// <returns></returns> public bool SendMail(EmailParam emailParam) { MailMessage mail = BuildMail(emailParam); if (!IsValidEmail(mail)) { return(false); } SmtpClient smtp = new SmtpClient(); mail.IsBodyHtml = emailParam.IsBodyHtml; try { if (mail.To.Any(to => !StringValidationUtil.IsValidEmailAddress(to.Address))) { return(false); } smtp.Send(mail); return(true); } catch (Exception ex) { return(false); } }
public async Task <object> AcceptConnection(EmailParam model) { _apiClient.BaseUrl = new Uri(_configuration["EmailServiceUrl"]); var apiRequest = new ApiRequest("", RequestMethod.POST) { RequestFormat = DataFormat.Json }; apiRequest.AddBody(new EmailApiModel() { EmailType = "EduHubConnection", SystemUserId = model.SystemUserId, Payload = model.Payload, Recipient = model.Recipient, TemplateName = "Mentifi_ConnectionActive" }); var response = await _apiClient.ExecuteAsync <object>(apiRequest); if (response.IsSuccessful) { return(model); } _logger.LogError(response.ErrorException, response.ErrorMessage, null); throw new ApplicationException(response.ErrorMessage); }
/// <summary> /// Builds the MailMessage. /// TODO: Need to pass more params for building content /// </summary> /// <param name="emailParam">EmailParam object</param> /// <returns>MailMessage</returns> private MailMessage BuildMail(EmailParam emailParam) { var mailMessage = _emailBuilder.BuildFromAddress(emailParam.FromAdress) .BuildSubject(emailParam.Subject) .BuildReceiver(emailParam.ToAddresses) .BuildBody() .BuildBcc(emailParam.BccAddress) .BuildAttachments(emailParam.AttachmentList) .GetMailMessage(); return(mailMessage); }
private EmailParam CreateEmailParam() { var emailParam = new EmailParam(); emailParam.Subject = PropertyService.GetStringProperty(CurrentPage, "EmailSubject"); emailParam.content = BuildEmailContent(); emailParam.FromAdress = Txt_Email.Text; emailParam.AttachmentList = RequestHelper.GetAttachments(RequestHelper, ApplicationPath); InitContactPersonList(); var emailList = _contactPersonManager.GetEmailList(contactPersonList, Ddl_Municipality.SelectedValue); emailParam.ToAddresses = string.Join(";", emailList); return(emailParam); }
public IHttpActionResult ForgotPassword(EmailParam emailParam) { try { if (emailParam == null) { return(BadRequest()); } _userService.ForgotPassword(emailParam.Email); return(Ok()); } catch (ArgumentNullException) { return(BadRequest()); } }
/// <summary> /// Send Email. /// </summary> /// <param name="subject">subject</param> /// <param name="body">body</param> /// <returns></returns> public static bool SendEmail(string subject, string body) { EmailParam param = new EmailParam(); param.SMTPServer = ConfigurationManager.AppSettings["SMTPServer"]; param.Port = Convert.ToInt32(ConfigurationManager.AppSettings["SMTPPort"]); param.fromEmail = ConfigurationManager.AppSettings["FromEmail"]; param.fromName = ConfigurationManager.AppSettings["FromName"]; param.fromPassword = ConfigurationManager.AppSettings["FromPassWord"]; param.toEmail = ConfigurationManager.AppSettings["ToEmail"]; param.toName = ConfigurationManager.AppSettings["ToName"]; param.subject = subject; param.body = body; param.IsBodyHtml = true; param.enableSsl = true; return(SendMailViaParam(param)); }
public ActionResult CommentReply(string commentreply, int ticketId) { if (Session["isLogin"] != null) { if (!string.IsNullOrEmpty(commentreply)) { TicketViewModel viewModel = new TicketViewModel(); viewModel.Comment = db.Comment.Where(o => o.TicketId == ticketId).ToList(); viewModel.ticket = db.Ticket.Where(o => o.TicketId == ticketId).FirstOrDefault(); Comment commentModel = new Comment(); try { commentModel.CommenterName = Session["name"].ToString(); commentModel.CommentMessage = commentreply; commentModel.TicketId = ticketId; commentModel.Created_at = DateTime.Now; commentModel.CommentId = RandomNumber(); string name = Session["name"].ToString(); string adminssionNo = Session["AdmissionNo"].ToString(); var commentData = db.Comment.Add(commentModel); db.SaveChanges(); if (commentData != null) { EmailParam param = new EmailParam(); param.Email = "*****@*****.**"; param.SenderEmail = "*****@*****.**"; param.From = "Open Ticket for IGR"; param.Message = "Hi Admin,\n\nYou have a pending ticket with content below\n\nPlease login into support to respond ticket\n\n--------------\n\n" + commentModel.CommentMessage + "\n\n------------\n\nSender Name: " + name + "\nAmissionNo: " + adminssionNo; EmailClass.sendEmail(EMAILAPI, param); } } catch (Exception ex) { ViewBag.Error = "Unable to add comment"; } return(View("Ticket_Reply", viewModel)); } } return(RedirectToAction("Index")); }
protected override void Execute(CodeActivityContext executionContext) { var context = executionContext.GetExtension <IWorkflowContext>(); var serviceFactory = executionContext.GetExtension <IOrganizationServiceFactory>(); var service = serviceFactory.CreateOrganizationService(context.UserId); var textPar = TextParam.Get <string>(executionContext); var intPar = IntParam.Get <int>(executionContext); var email = EmailParam.Get <string>(executionContext); Entity updatedEntity = new Entity(context.PrimaryEntityName); updatedEntity.Id = context.PrimaryEntityId; updatedEntity["new_textin"] = textPar; updatedEntity["new_number"] = intPar; { OutParam.Set(executionContext, email); } service.Update(updatedEntity); }
private static bool SendMailViaParam(EmailParam context) { EmailParam param = context as EmailParam; try { if (param.body != "") { SmtpClient client = new SmtpClient(param.SMTPServer, param.Port); client.EnableSsl = param.enableSsl; //client.UseDefaultCredentials = false; client.Credentials = new NetworkCredential(param.fromEmail, param.fromPassword); client.DeliveryMethod = SmtpDeliveryMethod.Network; MailAddress fromAddress = new MailAddress(param.fromEmail, param.fromName); MailAddress toAddress = new MailAddress(param.toEmail, param.toName); MailMessage message = new MailMessage(fromAddress, toAddress); message.Body = param.body; message.Subject = param.subject; message.IsBodyHtml = param.IsBodyHtml; message.BodyEncoding = Encoding.UTF8; try { client.Send(message); return(true); } catch { return(false); } } return(false); } catch { return(false); } }
public ActionResult CreateTicket(HttpPostedFileBase file, TicketPost requestPost) { if (!ModelState.IsValid) { var message = string.Join(" | ", ModelState.Values .SelectMany(v => v.Errors) .Select(e => e.ErrorMessage)); Session["Error"] = message; return(RedirectToAction("Ticket")); } //save ticket Ticket ticketParam = new Ticket(); string name = null; string email = null; string phone = null; ticketParam.Title = requestPost.Title; ticketParam.Message = requestPost.Message; ticketParam.TicketId = RandomNumber() + RandomNumber(); ticketParam.Id = ticketParam.TicketId; ticketParam.SourceData = requestPost.type; ticketParam.Ticket_Status = 1; ticketParam.IGR_Code = Session["igr"].ToString(); ticketParam.Created_at = DateTime.Now; if (Session["temporary_tin"] == null) { ticketParam.TinId = Session["tinNo"].ToString(); name = Session["name"].ToString(); email = Session["email"].ToString(); phone = Session["phone"].ToString(); } else { ticketParam.TinId = Session["temporary_tin"].ToString(); name = Session["name"].ToString(); email = Session["email"].ToString(); phone = Session["phone"].ToString(); } try { var ticketPara = db.Ticket.Add(ticketParam); db.SaveChanges(); if (ticketPara != null) { EmailParam param = new EmailParam(); param.Email = "*****@*****.**"; param.SenderEmail = "*****@*****.**"; param.From = "Open Ticket for IGR"; param.Message = "Hi Admin,\n\nYou have a pending ticket with content below\n\nPlease login into support to respond ticket\n\n--------------\n\n" + requestPost.Message + "\n\n------------\n\nSender Name: " + name + "\nTinNo: " + ticketParam.TinId + "\nPhone: " + phone + "\nEmaill: " + email; EmailClass.sendEmail(EMAILAPI, param); } } catch (Exception ex) { Session["Error"] = ex.Message.ToString(); return(RedirectToAction("Ticket")); } foreach (string upload in Request.Files) { if (Request.Files[upload].ContentLength > 0) { var filename = ticketParam.TicketId + ".png"; var size = Request.Files[upload].ContentLength; if (size > 532000) { Session["Error"] = "File cannot be larger than 500KB"; return(RedirectToAction("Ticket")); } var FileExt = Request.Files[upload].ContentType; if (FileExt == "image/png" || FileExt == "image/jpeg") { var filePathOriginal = Server.MapPath("/Content/img"); var filePathThumbnail = Server.MapPath("/Content/img"); string savedFileName = Path.Combine(filePathOriginal, filename); Request.Files[upload].SaveAs(savedFileName); } else { Session["Error"] = "Please upload a .png or .jpeg format"; return(RedirectToAction("Ticket")); } } } Session["Sucess"] = "Ticket successfully opened"; return(RedirectToAction("Ticket")); }