private void ButtonSendTestMail_Click(object sender, RoutedEventArgs e) { if (string.IsNullOrEmpty(ViewModel.TestMailAddress)) { System.Windows.MessageBox.Show("先输入测试地址!"); } else { try { SheetConfigModel mainSheetConfig = SheetConfigModels[MainConfigModel.MainSheetName]; MailDataModel mailDataModel = new MailDataModel { From = MailConfigModel.MailAddress, Password = MailConfigModel.MailPassword, SMTPAddress = MailConfigModel.SMTPAddress, IsbodyHtml = true, To = ViewModel.TestMailAddress, Subject = FormatString(CalcParamValues(SubjectParams, mainSheetConfig.StartingLine), MailConfigModel.MailSubject), Body = FormatString(CalcParamValues(BodyParams, mainSheetConfig.StartingLine), File.ReadAllText(MainConfigModel.TemplatePath)), Port = MailConfigModel.Port, EnableSsl = MailConfigModel.EnableSsl, Priority = MailConfigModel.Priority, Attachments = CalcParamValues(Attachments, mainSheetConfig.StartingLine), }; MailSenderUtil.Send(mailDataModel); System.Windows.MessageBox.Show("发送成功!"); } catch (Exception ex) { System.Windows.MessageBox.Show(ex.Message); } } }
/// <summary> /// 构建邮件 /// </summary> /// <returns></returns> private void BuildAndSendMails() { if (Workbook != null) { try { //主sheet配置 SheetConfigModel mainSheetConfig = SheetConfigModels[MainConfigModel.MainSheetName]; //模板字符串 string bodyHtmlString = File.ReadAllText(MainConfigModel.TemplatePath); //失败个数 int faildCount = 0; //邮件总数 int mailCount = mainSheetConfig.EndLine - mainSheetConfig.StartingLine + 1; //成功的标识 object[,] successSimple = ReadRangeValues(MainConfigModel.MainSheetName + "." + MainConfigModel.SuccessSimpleLocation); //回写的标识地址 IList <string> mailDataSuccessLocation = new List <string>(); for (int i = mainSheetConfig.StartingLine; i <= mainSheetConfig.EndLine; i++) { PushMessage("正在处理(" + (i - mainSheetConfig.StartingLine + 1) + "/" + mailCount + ")\n"); try { if (!(MainConfigModel.SuccessSimple == (successSimple[i - mainSheetConfig.StartingLine + 1, 1] == null ? string.Empty : successSimple[i - mainSheetConfig.StartingLine + 1, 1].ToString()))) { MailDataModel mailDataModel = new MailDataModel { From = MailConfigModel.MailAddress, Password = MailConfigModel.MailPassword, SMTPAddress = MailConfigModel.SMTPAddress, IsbodyHtml = true, To = FormatString(CalcParamValues(MailToParams, i), MailConfigModel.MailTo), Subject = FormatString(CalcParamValues(SubjectParams, i), MailConfigModel.MailSubject), Body = FormatString(CalcParamValues(BodyParams, i), bodyHtmlString), Port = MailConfigModel.Port, EnableSsl = MailConfigModel.EnableSsl, Priority = MailConfigModel.Priority, Attachments = CalcParamValues(Attachments, i), }; MailSenderUtil.Send(mailDataModel); mailDataSuccessLocation.Add(MainConfigModel.SuccessSimpleLocation + i); } } catch (Exception ex) { PushMessage(ex.Message + "\n"); faildCount++; continue; } } //回写成功标志 foreach (var range in GetMergeRanges(LoadWorksheet(Workbook, MainConfigModel.MainSheetName), mailDataSuccessLocation)) { range.Value2 = MainConfigModel.SuccessSimple; } PushMessage("处理完毕。" + "\n"); PushMessage("总数量" + (mailCount) + "\n"); PushMessage("失败数量" + (faildCount) + "\n"); } catch (Exception ex) { PushMessage("出现错误:" + ex.Message + "\n"); } } }