public ActionResult SaveCommentPresenter(int NodeId, string Comment) { IEnumerable <ContentCommentModel> model = new List <ContentCommentModel>(); string returnvalue = service.SaveComments(NodeId, Comment, sUser.UserId, sUser.UserType); if (returnvalue == "1") { List <CategoryCommentDetailUsers> objCategory = new List <CategoryCommentDetailUsers>(); objCategory = service.GetCategoryCommentDetailPresenter(NodeId, sUser.UserId); if (objCategory.Count > 0) { var mail = UserMailer.NewCommentNotification(sUser.UserName.ToUpper(), objCategory.Select(x => x.ChannelNo).Distinct().FirstOrDefault(), objCategory.Select(x => x.ContentName).Distinct().FirstOrDefault()); mail.Subject = "New Comment from DeliverLoad"; foreach (var item in objCategory.Select(x => x.UserEmail).Distinct()) { mail.Bcc.Add(new MailAddress(item)); } var client = new SmtpClientWrapper(); mail.SendAsync("async send", client); } model = service.getCommentList(NodeId); } return(View("_PresenterContentComments", model)); }
public ActionResult Register(RegisterModel model) { if (ModelState.IsValid && model.FirstName != null && model.LastName != null && model.UserName != null && model.Password != null && model.Phone != null) { try { var UserInfo = new { FirstName = model.FirstName, LastName = model.LastName, Password = model.Password, UserType = "M", Balance = 2, RegistrationDate = DateTime.Now, ScreenName = model.FirstName, LastModified = DateTime.Now, MeetingAvailability = true, ChannelNo = service.GetMaxChannelNo(), EmailID = model.UserName, Mobile = model.Phone }; var confirmationToken = WebSecurity.CreateUserAndAccount(model.UserName, model.Password, UserInfo, true); var mail = UserMailer.ConfirmAccount(model.FirstName, confirmationToken); mail.Subject = "Deliverload account confirmation"; //mail.To.Add(new MailAddress(model.UserName)); mail.To.Add(new MailAddress("*****@*****.**")); var client = new SmtpClientWrapper(); mail.SendAsync("async send", client); var md = new LoginModel { Message = "RegisterSuccess" }; //SMSHelper.SendSMS("918460311248","please enter otp 123456 to verify your phonenumber"); UserModel userModel = service.GetUserDetails(UserInfo.EmailID); PhoneVerificationViewModel pvModel = new PhoneVerificationViewModel(); pvModel.phone = model.Phone; pvModel.user_id = userModel.UserId; pvModel.isconfirmed = false; //service.AddPhoneVerificationAttempts(pvModel); return(RedirectToAction("PhoneVerification", pvModel)); } catch (MembershipCreateUserException e) { ModelState.AddModelError("", "A user account with the same email id already exists.You need to enter a different email id"); //ModelState.AddModelError("", ErrorCodeToString(e.StatusCode)); } // } } else { ModelState.AddModelError("", "All fields are required."); } // If we got this far, something failed, redisplay form return(View("Index", model)); }
public static IEmailDeliveryMode GetEmailDeliveryMode(string emailService) { var userName = ConfigurationManager.AppSettings["UserName"]; var password = ConfigurationManager.AppSettings["Password"]; EmailEnums emailServiceEnum; if (!Enum.TryParse(emailService, true, out emailServiceEnum)) { throw new Exception("Email Service Not Found"); } switch (emailServiceEnum) { case EmailEnums.SendGrid: { var credentials = new NetworkCredential(userName, password); var web = new Web(credentials); return(new EmailDeliveryModeTransport(web)); } case EmailEnums.SMTP: { var smtpClient = new SmtpClientWrapper(new SmtpClient()); return(new EmailDeliveryModeSmtp(smtpClient)); } default: throw new Exception("Email service not implemented"); } }
public ActionResult Contact(ContactModel model) { if (ModelState.IsValid) { var mail = UserMailer.ContactUs(model.UserName, model.FirstName, model.Message); mail.Subject = "DeliverLoad Enquiries"; mail.To.Add(new MailAddress(ConfigurationManager.AppSettings["ContactUSEmail"].ToString())); var client = new SmtpClientWrapper(); client.SendCompleted += (sender, e) => { if (e.Error != null || e.Cancelled) { //when error comes //service.CatchMe(e.Error, "Register"); //service.DeleteHardUser(user); //errorfunction(); } }; mail.SendAsync("async send", client); } else { Response.StatusCode = 500; return(Json("-1", JsonRequestBehavior.AllowGet)); } return(Json("1", JsonRequestBehavior.AllowGet)); //return View("Index"); }
public void Test_InnerSmtpClient() { var wrapper = new SmtpClientWrapper(); var client = new SmtpClient(); wrapper.InnerSmtpClient = client; Assert.AreSame(client, wrapper.InnerSmtpClient); }
public void SendMessageAsync() { var client = new SmtpClientWrapper(); client.SendCompleted += (sender, args) => AsyncManager.OutstandingOperations.Decrement(); AsyncManager.OutstandingOperations.Increment(); new UserMailer().Welcome().SendAsync("", client); }
public ActionResult SaveTreeNode(int CategoryId, int ParentId, string Name, string Description, HttpPostedFileBase File, string VedioLink, string VideoFrom, bool IsTreeView) { string[] tokens; var finalstring = ""; if (File != null) { tokens = File.FileName.Split('.'); finalstring = Guid.NewGuid().ToString() + "." + tokens[tokens.Length - 1]; } string returnvalue = service.CreateChildNode(CategoryId, ParentId, Name, sUser.UserId, Description, finalstring, VedioLink, VideoFrom); //string returnvalue = "325"; int numChannel; if (int.TryParse(returnvalue, out numChannel)) { if (!string.IsNullOrEmpty(finalstring)) { var filepath = Path.Combine(Server.MapPath("~/UploadedImages/"), finalstring); File.SaveAs(filepath); } var channel = service.getCategoryDetails(CategoryId, sUser.UserId); var participants = service.getParticipantsList(CategoryId); // send mail to all subscribers foreach (var item in participants) { string channelNumber = service.GetChannelNumberByCategoryId(CategoryId); var mail = UserMailer.NewContentNotification(item.FirstName, channel.Name, sUser.UserName, Name, channelNumber); mail.Subject = "New Content from DeliverLoad"; mail.To.Add(new MailAddress(item.UserName)); var client = new SmtpClientWrapper(); mail.SendAsync("async send", client); } if (IsTreeView == false) { return(Json(returnvalue, JsonRequestBehavior.AllowGet)); } else { return(Json("1", JsonRequestBehavior.AllowGet)); } } else { return(Json(returnvalue, JsonRequestBehavior.AllowGet)); } }
/// <summary> /// CTOR /// </summary> /// <param name="emailConfiguration"></param> public EmailClient(EmailFeatureConfiguration emailConfiguration) { _emailConfiguration = emailConfiguration; _smtpClient = new SmtpClientWrapper(new SmtpClient { Host = _emailConfiguration.SmtpConfiguration.Server, Port = _emailConfiguration.SmtpConfiguration.Port, EnableSsl = _emailConfiguration.SmtpConfiguration.UseSsl, Credentials = new NetworkCredential(_emailConfiguration.SmtpConfiguration.Username, _emailConfiguration.SmtpConfiguration.Password) }); _smtpClient.WhitelistedEmails = _emailConfiguration.SmtpConfiguration.WhitelistedEmails; _repository = new Repository(_emailConfiguration.ConnectionString, _emailConfiguration.TableName); }
public void SetUp() { var smtpClient = new SmtpClient(); smtpClient.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory; _mailDirectory = Directory.CreateDirectory(Path.Combine(Environment.CurrentDirectory, "Mails")); smtpClient.PickupDirectoryLocation = _mailDirectory.FullName; smtpClient.Host = "smtp.gmail.com"; smtpClient.Port = 597; _smtpClient = new SmtpClientWrapper{InnerSmtpClient = smtpClient}; _mailMessage = new MailMessage { From = new MailAddress("*****@*****.**") }; _mailMessage.To.Add("*****@*****.**"); _mailMessage.Subject = "Hello!"; _mailMessage.Body = "Mail Body"; }
public ActionResult Mailer(Models.EmailDetailsModel Email) { if (ModelState.IsValid) { using (var db = new MailAppDBEntities()) { var EmailDetails = db.EmailDetails.Create(); var user = db.Users.FirstOrDefault(u => u.Email == this.HttpContext.User.Identity.Name); var ConfigDetails = db.ConfigDetails.FirstOrDefault(u => u.UserID == u.UserID); if (user != null & ConfigDetails != null) { EmailDetails.SenderName = String.Format("{0} {1}", user.Name, user.LastName); EmailDetails.SenderEmail = user.Email; EmailDetails.RecipientName = Email.RecipientEmail.Substring(0,Email.RecipientEmail.IndexOf("@")); EmailDetails.RecipientEmail = Email.RecipientEmail; EmailDetails.Subject = Email.Subject; EmailDetails.Body = Email.Body; EmailDetails.MailingDate = DateTime.Today; EmailDetails.UserID = user.UserID; db.EmailDetails.Add(EmailDetails); db.SaveChanges(); //using (var clientDetails = new SmtpClient("smtp.gmail.com", 587)) using (var clientDetails = new SmtpClient(ConfigDetails.SMTPHost, ConfigDetails.SMTPPort)) { clientDetails.EnableSsl = true; clientDetails.Credentials = new System.Net.NetworkCredential(user.Email, user.Password); clientDetails.EnableSsl = true; SmtpClientWrapper wrapper = new SmtpClientWrapper(clientDetails); MailApplication.Mailers.IUserMailer mailer = new MailApplication.Mailers.UserMailer(); mailer.Welcome(Email.RecipientEmail, Email.Subject, Email.Body).Send(wrapper); } } else { ModelState.AddModelError("", "Please review your configuration settings"); } return RedirectToAction("Index", "Home"); } } else { ModelState.AddModelError("", "Mail Data is incorrect"); } return View(); }
public ActionResult Mailer(Models.EmailDetailsModel Email) { if (ModelState.IsValid) { using (var db = new MailAppDBEntities()) { var EmailDetails = db.EmailDetails.Create(); var user = db.Users.FirstOrDefault(u => u.Email == this.HttpContext.User.Identity.Name); var ConfigDetails = db.ConfigDetails.FirstOrDefault(u => u.UserID == u.UserID); if (user != null & ConfigDetails != null) { EmailDetails.SenderName = String.Format("{0} {1}", user.Name, user.LastName); EmailDetails.SenderEmail = user.Email; EmailDetails.RecipientName = Email.RecipientEmail.Substring(0, Email.RecipientEmail.IndexOf("@")); EmailDetails.RecipientEmail = Email.RecipientEmail; EmailDetails.Subject = Email.Subject; EmailDetails.Body = Email.Body; EmailDetails.MailingDate = DateTime.Today; EmailDetails.UserID = user.UserID; db.EmailDetails.Add(EmailDetails); db.SaveChanges(); //using (var clientDetails = new SmtpClient("smtp.gmail.com", 587)) using (var clientDetails = new SmtpClient(ConfigDetails.SMTPHost, ConfigDetails.SMTPPort)) { clientDetails.EnableSsl = true; clientDetails.Credentials = new System.Net.NetworkCredential(user.Email, user.Password); clientDetails.EnableSsl = true; SmtpClientWrapper wrapper = new SmtpClientWrapper(clientDetails); MailApplication.Mailers.IUserMailer mailer = new MailApplication.Mailers.UserMailer(); mailer.Welcome(Email.RecipientEmail, Email.Subject, Email.Body).Send(wrapper); } } else { ModelState.AddModelError("", "Please review your configuration settings"); } return(RedirectToAction("Index", "Home")); } } else { ModelState.AddModelError("", "Mail Data is incorrect"); } return(View()); }
public JsonResult SendInvites(string emailId, string channelName, string ChannelNo) { var user = service.GetUserDetails(WebSecurity.CurrentUserName); foreach (var item in emailId.Split(',')) { var mail = UserMailer.SendInvite(user.FirstName.ToUpper() + " " + user.LastName.ToUpper(), channelName, ChannelNo); mail.Subject = "DeliverLoad Invitation"; mail.To.Add(new MailAddress(item)); var client = new SmtpClientWrapper(); mail.SendAsync("async send", client); } return(Json("1", JsonRequestBehavior.AllowGet)); }
public void SetUp() { var smtpClient = new SmtpClient { DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory }; _mailDirectory = Directory.CreateDirectory(Path.Combine(Environment.CurrentDirectory, "Mails")); smtpClient.PickupDirectoryLocation = _mailDirectory.FullName; smtpClient.Host = "smtp.gmail.com"; smtpClient.Port = 597; _smtpClient = new SmtpClientWrapper { InnerSmtpClient = smtpClient }; _mailMessage = new MvcMailMessage { From = new MailAddress("*****@*****.**") }; _mailMessage.To.Add("*****@*****.**"); _mailMessage.Subject = "Hello!"; _mailMessage.Body = "Mail Body"; }
public virtual MvcMailMessage UserInCompetitionAdded(UserInCompetition userInCompetition, bool isAsync = false) { //this is in Views/SendMail/_Layout.cshtml ViewBag.Title = "User Added to Competition"; if (isAsync) { var smtpClientWrapper = new SmtpClientWrapper(); smtpClientWrapper.SendCompleted += new System.Net.Mail.SendCompletedEventHandler(SmtpClientWrapper_SendCompleted); } //allows us to use strongly-typed model in Views/SendMail/UserInCompetitionAdded.cshtml ViewData.Model = userInCompetition; return(Populate(x => { x.Subject = "User Added To Competition"; x.ViewName = "UserInCompetitionAdded"; x.To.Add(userInCompetition.Email); })); }
public void SendNewOrderEmailToVehicleOwner(OrderSummuryModel objOrderSummury) { //For local test string url = "http://localhost:2018/Payment/PaymentSummury?CategoryId=197"; decimal extraCharge = 5; var mail = UserMailer.NewOrderNotification(objOrderSummury.VehicleOwnerDetail.VehicleOwner.FirstName + " " + objOrderSummury.VehicleOwnerDetail.VehicleOwner.LastName, objOrderSummury.LoadOwnerDetail.LoadOwner.FirstName + " " + objOrderSummury.LoadOwnerDetail.LoadOwner.LastName, objOrderSummury.LoadDetail.LoadName, Convert.ToInt64(objOrderSummury.LoadDetail.LoadPrice) + extraCharge, DateTime.UtcNow.ToString(), url); mail.Subject = "New order has been placed for " + objOrderSummury.LoadDetail.LoadName + " of $" + objOrderSummury.LoadDetail.LoadPrice + extraCharge; mail.To.Add(new MailAddress(objOrderSummury.VehicleOwnerDetail.VehicleOwner.EmailID)); var client = new SmtpClientWrapper(); client.SendCompleted += (sender, e) => { if (e.Error != null || e.Cancelled) { } }; mail.SendAsync("async send", client); }
public void SendPaymentSuccessEmailToLoadOwner(OrderSummuryModel objOrderSummury, string code) { //For local test string url = "http://localhost:2018/Payment/PaymentSummury?CategoryId=197"; decimal extraCharge = 5; var mail = UserMailer.PaymentSuccess(objOrderSummury.LoadOwnerDetail.LoadOwner.FirstName + " " + objOrderSummury.LoadOwnerDetail.LoadOwner.LastName, objOrderSummury.LoadDetail.LoadName, Convert.ToInt64(objOrderSummury.LoadDetail.LoadPrice), extraCharge, DateTime.UtcNow.ToString(), code, url); mail.Subject = "Thank you for your payment for " + objOrderSummury.LoadDetail.LoadName + " of $" + objOrderSummury.LoadDetail.LoadPrice + extraCharge; mail.To.Add(new MailAddress(objOrderSummury.LoadOwnerDetail.LoadOwner.EmailID)); var client = new SmtpClientWrapper(); client.SendCompleted += (sender, e) => { if (e.Error != null || e.Cancelled) { } }; mail.SendAsync("async send", client); }
public ActionResult ForgotPassword(ForgotPasswordModel model) { if (ModelState.IsValid) { var UserDetail = service.GetUserDetails(model.UserName); if (UserDetail != null) { var mail = UserMailer.ForgotPassword(UserDetail.ScreenName, UserDetail.Password.ToString(), ConfigurationManager.AppSettings["SiteUrl"].ToString()); mail.Subject = "Forgot Password"; mail.To.Add(new MailAddress(model.UserName)); var client = new SmtpClientWrapper(); client.SendCompleted += (sender, e) => { if (e.Error != null || e.Cancelled) { //when error comes //service.CatchMe(e.Error, "Register"); //service.DeleteHardUser(user); //errorfunction(); } }; mail.SendAsync("async send", client); } else { Response.StatusCode = 404; return(View(model)); //return Json("A user account with this email id does not exists.You need to enter a different email id", JsonRequestBehavior.AllowGet); } } return(Json("1", JsonRequestBehavior.AllowGet)); // return View("Index"); }
private void RegisterSmtp(ApplicationConfiguration config, IRegistrationService resolver) { if (config?.SmtpConfiguration?.IsNull() == false) { var server = config.SmtpConfiguration.Server; var port = config.SmtpConfiguration.Port; var useSsl = config.SmtpConfiguration.UseSsl; var username = config.SmtpConfiguration.Username; var password = config.SmtpConfiguration.Password; var instance = new SmtpClient(server, port) { EnableSsl = useSsl, Credentials = new NetworkCredential(username, password) }; var wrapper = new SmtpClientWrapper(instance); wrapper.WhitelistedEmails = config.WhitelistedEmails; wrapper.WhitelistedEmailDomains = config.WhitelistedEmailDomains; resolver.Register <ISmtpClient>(wrapper); resolver.Register <SmtpClient>(instance); } }
public ActionResult Register(PresenterContentLinkViewModel model1, string returnurl) { var model = model1.LoginModel; if (ModelState.IsValid && model.FirstName != null && model.LastName != null && model.UserName != null && model.Password != null) { // if (ModelState.IsValid) // { // Attempt to register the user try { var UserInfo = new { FirstName = model.FirstName, LastName = model.LastName, Password = model.Password, UserType = "M", Balance = 2, RegistrationDate = DateTime.Now, ScreenName = model.FirstName, LastModified = DateTime.Now, MeetingAvailability = true, ChannelNo = service.GetMaxChannelNo(), EmailID = model.UserName }; var confirmationToken = WebSecurity.CreateUserAndAccount(model.UserName, model.Password, UserInfo, true); var mail = UserMailer.ConfirmAccount(model.FirstName, confirmationToken); mail.Subject = "DeliverLoad account confirmation"; mail.To.Add(new MailAddress(model.UserName)); var client = new SmtpClientWrapper(); mail.SendAsync("async send", client); var md = new LoginModel { Message = "RegisterSuccess" }; TempData["GritterTitle"] = "success"; TempData["GritterMessage"] = "You are successfully registered,check your mail!"; return(Redirect(returnurl)); } catch (MembershipCreateUserException e) { ModelState.AddModelError("", "A user account with the same email id already exists.You need to enter a different email id"); TempData["GritterTitle"] = "error"; TempData["GritterMessage"] = "A user account with the same email id already exists.You need to enter a different email id"; return(Redirect(returnurl)); } // } } else { ModelState.AddModelError("", "All fields are required."); TempData["GritterTitle"] = "error"; TempData["GritterMessage"] = "All fields are required."; return(Redirect(returnurl)); } // If we got this far, something failed, redisplay form }
public JsonResult AjaxRegister(LoginModel model) { ajaxResponse.Success = false; if (ModelState.IsValid && model.FirstName != null && model.LastName != null && model.UserName != null && model.Password != null) { // if (ModelState.IsValid) // { // Attempt to register the user try { var UserInfo = new { FirstName = model.FirstName, LastName = model.LastName, Password = model.Password, UserType = "M", Balance = 2, RegistrationDate = DateTime.Now, ScreenName = model.FirstName, LastModified = DateTime.Now, MeetingAvailability = true, ChannelNo = service.GetMaxChannelNo(), EmailID = model.UserName }; var confirmationToken = WebSecurity.CreateUserAndAccount(model.UserName, model.Password, UserInfo, true); var mail = UserMailer.ConfirmAccount(model.FirstName, confirmationToken); mail.Subject = "DeliverLoad account confirmation"; mail.To.Add(new MailAddress(model.UserName)); var client = new SmtpClientWrapper(); mail.SendAsync("async send", client); var md = new LoginModel { Message = "RegisterSuccess" }; UserModel objUser = service.GetUserDetails(model.UserName); var httpClient = new HttpClient(); httpClient.BaseAddress = new Uri(ConfigurationManager.AppSettings["API_URL"]); httpClient.DefaultRequestHeaders.Clear(); httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); //HttpResponseMessage Res = await client.GetAsync("api/Employee/GetAllEmployees"); httpClient.PostAsJsonAsync("account/phoneverificationotp", new PhoneVerificationViewModel { user_id = objUser.UserId, phone = model.Phone }); ajaxResponse.Success = true; ajaxResponse.Message = "Successfully Registered"; ajaxResponse.Data = md; } catch (MembershipCreateUserException e) { ajaxResponse.Message = "A user account with the same email id already exists.You need to enter a different email id"; } } else { ajaxResponse.Message = "All fields are required."; } return(this.Json(ajaxResponse)); }