private void mnuDelete_Click(object sender, EventArgs e) { if (dataGridView.Rows.Count == 0 || lastID < 1) { return; } SendSetting setting = SendSettingHelper.SelectByID(1); if (setting.IsNull() || setting.TemplateID.IsNull()) { return; } if (setting.TemplateID == lastID && !this.checkBoxStatus.Checked) { MessageBox.Show("发送邮件设置使用了此模板,该模板不能删除", "系统提示"); return; } if (MessageBox.Show("是否删除此邮件模板?", " 系统提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.OK) { HtmlTemplateHelper.DeleteByID(lastID); HtmlTemplateHelper.ClearCacheAll(); dataGridView.Rows.RemoveAt(currentIndex); getRowData(); } tabControl1.SelectedTab = tabControl1.TabPages[0]; }
private void dataGridView_CellClick(object sender, DataGridViewCellEventArgs e) { tabControl1.SelectedTab = tabControl1.TabPages[0]; currentIndex = e.RowIndex; if (currentIndex < 0) { return; } lastID = dataGridView.Rows[e.RowIndex].Cells[0].Value.ToBigInt(0); if (lastID < 1) { return; } HtmlTemplate info = HtmlTemplateHelper.SelectListByAll().Where(p => p.TemplateID == lastID).FirstOrDefault(); if (info.IsNull() || info.TemplateID.IsNull()) { return; } this.txtSubject.Text = info.Subject; txtSubject.Text = info.Subject; txtBody.Text = info.Body; txtShowName.Text = info.ShowName; checkBoxIsHTML.Checked = info.IsHTML == true ? true : false; checkBoxStatus.Checked = info.Status == 0 ? true : false; }
private void mnuEdit_Click(object sender, EventArgs e) { SendSetting setting = SendSettingHelper.SelectByID(1); if (setting.IsNull() || setting.TemplateID.IsNull()) { return; } if (setting.TemplateID == lastID && !this.checkBoxStatus.Checked) { MessageBox.Show("发送邮件设置使用了此模板,该模板不能不可用", "系统提示"); return; } tabControl1.SelectedTab = tabControl1.TabPages[0]; if (currentIndex < 0 || lastID < 1) { return; } HtmlTemplate info = new HtmlTemplate(); info.Subject = this.txtSubject.Text; info.Body = this.txtBody.Text; info.IsHTML = this.checkBoxIsHTML.Checked ? true : false; info.Status = this.checkBoxStatus.Checked ? 0 : 1; info.ShowName = this.txtShowName.Text; info.TemplateID = lastID; HtmlTemplateHelper.Update(info); dataGridView.Rows[currentIndex].Cells[1].Value = info.Subject; HtmlTemplateHelper.ClearCacheAll(); MessageBox.Show("保存成功", "系统提示"); }
/// <summary> /// 清理缓存 /// </summary> private void clear() { SmtpListHelper.ClearCacheAll(); smtpList = null; EmailListHelper.ClearCacheAll(); emailList = null; SendSettingHelper.ClearCacheAll(); sendSetting = null; HtmlTemplateHelper.ClearCacheAll(); templateList = null; IpHistoryHelper.ClearCacheAll(); }
public static void Templates(bool exit = false) { WriteLog("templates(ts) 显示模板列表"); WriteLog("==============================================================================="); IList <HtmlTemplate> templateList = HtmlTemplateHelper.SelectListByAll(); foreach (var t in templateList) { WriteLog("{0}-{1}", t.TemplateID, t.Subject); } WriteLog("count:{0}", templateList.Count); WriteLog("END"); Input(exit); }
private void frmTemplate_Load(object sender, EventArgs e) { ThreadPool.QueueUserWorkItem(new WaitCallback((o) => { frmMain.Instance.ShowStatusText("正在加载模版数据...."); dataGridView.BeginInvoke(new Pub.Class.Action(() => { dataGridView.DataSource = HtmlTemplateHelper.SelectListByAll().OrderByDescending(p => p.TemplateID).Select(p => new { 编号 = p.TemplateID, 邮件主题 = p.Subject }).ToDataTable(); getRowData(); frmMain.Instance.ShowStatusText("模版数据加载完成!"); })); }), null); }
private void frmSendSetting_Activated(object sender, EventArgs e) { frmMain.Instance.ShowStatusText("正在数据...."); HtmlTemplateHelper.ClearCacheAll(); cboTemplate.DataSource = null;; cboTemplate.ValueMember = "TemplateID"; cboTemplate.DisplayMember = "Subject"; cboTemplate.DataSource = HtmlTemplateHelper.SelectListByAll().Where(p => p.Status == 0).OrderByDescending(p => p.TemplateID).Select(p => new { p.TemplateID, p.Subject }).ToDataTable(); DataTable dt = new DataTable() .AddColumn <int>("id") .AddColumn <string>("name") .AddRow(0, "等待发送") .AddRow(1, "正在发送") .AddRow(2, "已发送完成"); this.cboStatus.DataSource = dt; this.cboStatus.DisplayMember = "name"; this.cboStatus.ValueMember = "id"; this.cboStatus.SelectedIndex = 0; sendSetting = SendSettingHelper.SelectByID(1); if (sendSetting.IsNull() || sendSetting.SettingID.IsNull()) { return; } cboTemplate.SelectedValue = sendSetting.TemplateID; if (sendSetting.ConnectType == 0) { rdoRoute.Checked = true; } if (sendSetting.ConnectType == 1) { rdoModel.Checked = true; } if (sendSetting.ConnectType == 2) { rdoTY.Checked = true; } txtIPInterval.Text = sendSetting.IPInterval.ToString(); txtSendInterval.Text = sendSetting.SendInterval.ToString(); txtSmtpInterval.Text = sendSetting.SmtpInterval.ToString(); txtMaxRetryCount.Text = sendSetting.MaxRetryCount.ToString(); txtDeleteInterval.Text = sendSetting.DeleteInterval.ToString(); txtSendRetryCount.Text = sendSetting.SendRetryCount.ToString(); cboStatus.SelectedValue = sendSetting.Status; cboStatus.Tag = sendSetting.Status.Value; frmMain.Instance.ShowStatusText("数据加载完成!"); }
/// <summary> /// 开始群发邮件 /// </summary> /// <param name="msg">通知消息</param> /// <param name="done">完成执行</param> public void Start(Action <string> msg = null, Pub.Class.Action done = null) { exit = false; uiMsg = msg; uiDone = done; thread = new Thread(() => { smtpList = SmtpListHelper.SelectListByAll(); sendSetting = SendSettingHelper.SelectByID(1); templateList = HtmlTemplateHelper.SelectListByAll().Where(p => p.Status == 0).ToList(); sendStart(); }); thread.IsBackground = true; thread.Start(); }
private void mnuAdd_Click(object sender, EventArgs e) { tabControl1.SelectedTab = tabControl1.TabPages[0]; HtmlTemplate info = new HtmlTemplate(); info.Status = this.checkBoxStatus.Checked ? 0 : 1; info.Subject = this.txtSubject.Text; info.Body = this.txtBody.Text; info.IsHTML = this.checkBoxIsHTML.Checked ? true : false; info.ShowName = this.txtShowName.Text; info.CreateTime = DateTime.Now.ToDateTime().ToDateTime(); HtmlTemplateHelper.Insert(info); HtmlTemplateHelper.ClearCacheAll(); frmTemplate_Load(sender, e); }
public static void Config(bool exit = false) { WriteLog("config(c) 显示发送配置"); WriteLog("==============================================================================="); SendSetting sendSetting = SendSettingHelper.SelectByID(1); IList <HtmlTemplate> templateList = HtmlTemplateHelper.SelectListByAll(); WriteLog("邮件模版:{0}", templateList.Where(p => p.TemplateID == sendSetting.TemplateID).FirstOrDefault().IfNull(new HtmlTemplate()).Subject ?? "无"); WriteLog("网络连接类型:{0}", NetHelper.GetNetName(sendSetting.ConnectType.Value)); WriteLog("发送邮件时间间隔(毫秒):{0}", sendSetting.SendInterval); WriteLog("发送多少封邮件后更换IP:{0}", sendSetting.IPInterval == 0 ? "0不更换IP" : sendSetting.IPInterval.ToString()); WriteLog("发送多少封邮件后更换SMTP:{0}", sendSetting.SmtpInterval == 0 ? "0不更换SMTP" : sendSetting.SmtpInterval.ToString()); WriteLog("清理多少分钟之前的历史IP:{0}", sendSetting.DeleteInterval); WriteLog("检测网络连接重试次数:{0}", sendSetting.MaxRetryCount); WriteLog("发送邮件失败重试次数:{0}", sendSetting.SendRetryCount); WriteLog("发送状态:{0}", sendSetting.Status == 0 ? "等待发送" : sendSetting.Status == 1 ? "正在发送" : "已发送完成"); WriteLog("-------------------------------------------------------------------------------"); WriteLog("可用邮箱数量:{0}".FormatWith(new SQL().From(EmailList._).Count(EmailList._EmailAddress).ToScalar().ToString())); WriteLog("可用SMTP数量:{0}".FormatWith(new SQL().From(SmtpList._).Count(SmtpList._SmtpServer).ToScalar().ToString())); WriteLog("END"); Input(exit); }
private void getRowData() { if (dataGridView.Rows.Count > 0) { int count = dataGridView.Rows.Count; currentIndex = currentIndex == -1 ? 0 : (currentIndex == count ? currentIndex - 1 : currentIndex); lastID = dataGridView.Rows[currentIndex].Cells[0].Value.ToBigInt(0); if (lastID < 1) { return; } HtmlTemplate info = HtmlTemplateHelper.SelectListByAll().Where(p => p.TemplateID == lastID).FirstOrDefault(); if (info.IsNull() || info.TemplateID.IsNull()) { return; } txtSubject.Text = info.Subject; txtBody.Text = info.Body; txtShowName.Text = info.ShowName; checkBoxIsHTML.Checked = info.IsHTML == true ? true : false; checkBoxStatus.Checked = info.Status == 0 ? true : false; info.CreateTime = System.DateTime.Now.ToDateTime().ToDateTime(); mnuEdit.Enabled = true; mnuDelete.Enabled = true; } else { this.txtSubject.Text = ""; this.checkBoxIsHTML.Checked = false; this.checkBoxStatus.Checked = true; this.txtBody.Text = ""; mnuEdit.Enabled = false; mnuDelete.Enabled = false; } }