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");
                }
            }
        }