public IResult Execute(IMailParameter parameter) { bool successful = true; try { IMailSettingsParameter mailSettings; mailSettings = parameter.MailSettings ?? this.DefaultMailSettings; IMailParameter mailParameter = new MailParameter() { MailInformation = parameter.MailInformation, MailSettings = mailSettings, Body = parameter.Body }; if (mailParameter.MailSettings != null) { mailParameter.MailSettings.CreateSmtpClient().Send(mailParameter.CreateMailMessage()); } } catch (Exception e) { successful = false; } return(new Result() { Successful = successful }); }
public ActionResult SendMail([FromBody] MailParameter mail) { try { mailService.SendEmailRecoveryPassword(mail); return(Ok()); } catch (Exception ex) { throw; } }
public void SendEmailRecoveryPassword(MailParameter mail) { try { var user = _userRepository.GetByEmail(mail.Email); if (user != null) { string token = GetSha256(Guid.NewGuid().ToString()); string url = mail.Path + "/Recovery?token=" + token; user.token = token; if (_userRepository.Update(user, "")) {/* * MailRequest request = new MailRequest(); * request.ToEmail = mail.Email; * request.Subject = "Recuperación de contraseña"; * request.Body = "<p>Estimado " + user.firstName + ",nos has solicitado restablecer tu contraseña, para ingresar tu nueva</p>" + * "<p>contraseña has click en este link </p>" + * "<a href='" + url + "'>Click para recuperar</a>"; * SendEmail(request);*/ var to = user.email; var from = "*****@*****.**"; MailMessage message = new MailMessage(from, to); message.Subject = "Recuperación de contraseña"; message.Body = "<html><head></head><body> <p>Estimado " + user.firstName + ",nos has solicitado restablecer tu contraseña, para ingresar tu nueva</p><p>contraseña has click en este link </p><a href='" + url + "'>Click para recuperar</a></body></html>"; message.Priority = MailPriority.High; message.IsBodyHtml = true; SmtpClient client = new SmtpClient(); client.Host = new ConfigurationBuilder().AddJsonFile("appsettings.json").Build().GetSection("MailSettings")["Host"]; var porter = new ConfigurationBuilder().AddJsonFile("appsettings.json").Build().GetSection("MailSettings")["Port"]; client.Port = Int32.Parse(porter); client.EnableSsl = true; client.UseDefaultCredentials = true; var emU = new ConfigurationBuilder().AddJsonFile("appsettings.json").Build().GetSection("MailSettings")["Mail"]; var pwdU = new ConfigurationBuilder().AddJsonFile("appsettings.json").Build().GetSection("MailSettings")["Password"]; client.Credentials = new NetworkCredential(emU, pwdU); try { client.Send(message); } catch (Exception e) { } } } } catch (Exception e) { } }
public object List(string searchKey = null, string type = "receive", int page = 1, int rows = 20) { var parameter = new MailParameter { Page = new Loowoo.Common.PageParameter(page, rows), SearchKey = searchKey, Trash = false, Draft = false, }; switch (type) { case "trash": parameter.Trash = true; parameter.UserId = Identity.ID; break; case "draft": parameter.Draft = true; parameter.PostUserId = Identity.ID; break; case "star": parameter.Starred = true; parameter.UserId = Identity.ID; break; case "send": parameter.PostUserId = Identity.ID; break; default: parameter.UserId = Identity.ID; break; } //发件箱、草稿箱 if (type == "send" || type == "draft") { return(SendList(parameter)); } else { //收件箱、回收站、星标邮件 return(Receivelist(parameter)); } }
public IEnumerable <Mail> GetSendMails(MailParameter parameter) { var query = DB.Mails.AsQueryable(); if (parameter.PostUserId > 0) { query = query.Where(e => e.Info.PostUserId == parameter.PostUserId); } if (parameter.Trash.HasValue) { query = query.Where(e => e.Deleted == parameter.Trash.Value); } if (parameter.Draft.HasValue) { query = query.Where(e => e.IsDraft == parameter.Draft.Value); } return(query.OrderByDescending(e => e.ID).SetPage(parameter.Page)); }
private void SendMail() { MailParameter mailParameter = null; string headId, domainId, userName, branchId = null; try { if (!string.IsNullOrEmpty(scannedFileName)) { scannedFileName = "http://cmc/docs/upload/" + scannedFileName; } headId = MainPage.allUser.Select(string.Format("ST_ID = {0}", lkUpToStaff.EditValue))[0].ItemArray[4].ToString(); domainId = ckIsMovement.Checked ? MainPage.allUser.Select(string.Format("ST_ID = {0}", lkUpMoveStaff.EditValue))[0].ItemArray[4].ToString() : null; userName = ckIsMovement.Checked ? lkUpMoveStaff.Text : null; if (string.IsNullOrEmpty(headId)) { return; } mailParameter = new MailParameter(headId, txtRegisterNum.Text, txtControlNum.Text, Tool.ConvertNonTimeDateTime(dateDoc.EditValue), txtDocNum.Text, string.Format("{0} - {1}", lkUpLocation.Text, lkUpOrganization.Text), txtFromWho.Text, scannedFileName, Tool.ConvertNonTimeDateTime(dateReturn.EditValue), memoDesc.Text, lkUpToStaff.Text, userName); Console.WriteLine(string.Format("1b.Mail is about sending to {0}", headId)); Tool.SendMail(mailParameter, domainId); Console.WriteLine("Successfully sent!"); } catch (MofException ex) { System.Diagnostics.Debug.WriteLine("Майл илгээхэд гаргахад алдаа гарлаа: " + ex.InnerException.Message); throw ex; } catch (Exception ex) { System.Diagnostics.Debug.WriteLine("Майл илгээхэд алдаа гарлаа: " + ex.Message); throw new MofException("Майл илгээхэд алдаа гарлаа!", ex); } finally { mailParameter = null; domainId = branchId = headId = userName = null; } }
/// <summary> /// 发件箱、草稿箱 /// </summary> public object SendList(MailParameter parameter) { var list = Core.MailManager.GetSendMails(parameter); return(new PagingResult { List = list.Select(e => new { e.ID, MailId = e.ID, e.Subject, e.CreateTime, e.IsDraft, e.ReplyId, e.ForwardId, e.HasAttachments, ToUsers = e.Users.Where(u => !u.CC).Select(u => new { u.UserId, u.User.RealName }), }), Page = parameter.Page, }); }
public object Receivelist(MailParameter parameter) { var list = Core.MailManager.GetUserMails(parameter); return(new PagingResult { List = list.Select(e => new { e.ID, e.Subject, e.CreateTime, e.Read, FromUser = e.Poster == null ? null : e.Poster.RealName, e.UserId, e.Starred, e.Trash, e.CC, MailId = e.InfoId, e.ReplyId, e.ForwardId, }), Page = parameter.Page }); }
private void InitMailNotification() { MailParameter mailParam = null; List <MailParameter> mailParams = null; List <Document> listDocument = null; Document document = null; DataSet ds = null; Dictionary <string, string> parameters = null; Dictionary <string, object> parameterStored = null; DataTable dtable = null; string headId, domainId, userName, branchId = null; try { Tool.ShowWaiting(); parameters = new Dictionary <string, string>(); parameters.Add("SENTDATE LIKE ", string.Format("'{0}'", Tool.ConvertNonTimeDateTime(DateTime.Now))); dtable = SqlConnector.GetTable(dbName, "MailNotification", parameters); if (!dtable.Rows.Count.Equals(0)) { return; } parameterStored = new Dictionary <string, object>(); parameterStored.Add("@XML", Tool.xmlStr); ds = SqlConnector.GetStoredProcedure(dbName, "GetMailNotification", parameterStored, null); if (ds == null || ds.Tables[0] == null || ds.Tables[0].Rows == null || ds.Tables[0].Rows.Count.Equals(0)) { return; } listDocument = new List <Document>(); mailParams = new List <MailParameter>(); foreach (DataRow reader in ds.Tables[0].Rows) { document = new Document(reader[0].ToString(), reader[1].ToString(), reader[2].ToString(), reader[3].ToString(), reader[4].ToString(), reader[5].ToString(), reader[6].ToString(), reader[7].ToString(), reader[8].ToString(), reader[9].ToString(), reader[10].ToString(), reader[11].ToString(), reader[12].ToString(), reader[13].ToString(), reader[14].ToString(), reader[15].ToString(), reader[16].ToString(), reader[17].ToString(), reader[18].ToString(), reader[19].ToString(), reader[20].ToString(), reader[21].ToString(), reader[22].ToString(), reader[23].ToString(), reader[24].ToString(), reader[25].ToString(), reader[26].ToString(), reader[27].ToString(), reader[28].ToString(), reader[29].ToString()); listDocument.Add(document); } foreach (Document doc in listDocument) { if (doc.ToStaffId.Equals(null)) { continue; } if (MainPage.allUser.Select(string.Format("ST_ID = {0}", doc.ToStaffId)).Length == 0) { continue; } domainId = MainPage.allUser.Select(string.Format("ST_ID = {0}", doc.ToStaffId))[0].ItemArray[4].ToString(); branchId = MainPage.allUser.Select(string.Format("ST_ID = {0}", doc.ToStaffId))[0].ItemArray[1].ToString(); if (MainPage.allHead.Select(string.Format("BR_ID = {0}", branchId)).Length.Equals(0)) { if (MainPage.branchInfo.Select(string.Format("BR_ID = {0}", branchId)).Length.Equals(0)) { headId = string.Empty; userName = string.Empty; } else { branchId = MainPage.branchInfo.Select(string.Format("BR_ID = {0}", branchId))[0].ItemArray[2].ToString(); headId = MainPage.allHead.Select(string.Format("BR_ID = {0}", branchId))[0].ItemArray[4].ToString(); userName = MainPage.allHead.Select(string.Format("BR_ID = {0}", branchId))[0].ItemArray[3].ToString(); } } else { headId = MainPage.allHead.Select(string.Format("BR_ID = {0}", branchId))[0].ItemArray[4].ToString(); userName = MainPage.allHead.Select(string.Format("BR_ID = {0}", branchId))[0].ItemArray[3].ToString(); } if (string.IsNullOrEmpty(domainId)) { continue; } mailParam = new MailParameter(domainId, doc.RegNum, doc.ControlNum.ToString(), Tool.ConvertNonTimeDateTime(doc.DocDate), doc.DocNum, string.Format("{0} - {1}", doc.Location, doc.OrganizationName), doc.InFromWho, doc.ScannedFile, Tool.ConvertNonTimeDateTime(doc.ReturnDate), doc.ShortDesc, doc.ExpiredDays); mailParam.toWhoSecond = doc.ToName; mailParam.toWhoFirst = userName; mailParams.Add(mailParam); if (domainId.Equals(headId)) { continue; } mailParam = new MailParameter(headId, doc.RegNum, doc.ControlNum.ToString(), Tool.ConvertNonTimeDateTime(doc.DocDate), doc.DocNum, string.Format("{0} - {1}", doc.Location, doc.OrganizationName), doc.InFromWho, doc.ScannedFile, Tool.ConvertNonTimeDateTime(doc.ReturnDate), doc.ShortDesc, doc.ExpiredDays); mailParam.toWhoSecond = doc.ToName; mailParam.toWhoFirst = userName; mailParams.Add(mailParam); } Tool.SendMail(mailParams); parameters.Clear(); parameters.Add("SENTBY", Tool.userStaffId.ToString()); parameters.Add("SENTDATE", string.Format("'{0}'", Tool.ConvertNonTimeDateTime(DateTime.Now))); SqlConnector.Insert(dbName, "MailNotification", parameters); } catch (MofException ex) { System.Diagnostics.Debug.WriteLine("Майлаар сануулга илгээхэд алдаа гарлаа1: " + ex.Message); throw ex; } catch (Exception ex) { System.Diagnostics.Debug.WriteLine("Майлаар сануулга илгээхэд алдаа гарлаа2: " + ex.Message); throw new MofException("Майлаар сануулга илгээхэд алдаа гарлаа!!", ex); } finally { mailParam = null; listDocument = null; document = null; ds = null; parameters = null; parameterStored = null; dtable = null; headId = domainId = userName = branchId = null; mailParams = null; Tool.CloseWaiting(); } }