📄 form1.cs
字号:
DataSet ds = Database.HBJ_MailAddress(null,null);
this.mailCount.Text = ds.Tables[0].Rows.Count.ToString();
Public.taskDS = ds.Copy();
ds = Database.HBJ_MailAddress("1",null);
this.sendedNum.Text = ds.Tables[0].Rows.Count.ToString();
this.startNum.Text = Convert.ToString(Int32.Parse(this.sendedNum.Text) + 1);
this.status.Text = "连接成功....";
Thread.Sleep(1000);
this.status.Text = "等待任务....";
}
/// <summary>
/// 将DS中的邮址导入到任务表
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button15_Click(object sender, System.EventArgs e) {
if(Public.taskDS != null){
//导入到任务列表中
bool isExport = false;
if(this.taskList.Items.Count > 0){
DialogResult result = MessageBox.Show("待发送的任务列表中已有待发送邮址,是否清除?","确认",MessageBoxButtons.YesNoCancel,MessageBoxIcon.Question);
if(result == DialogResult.Yes){
this.taskList.Items.Clear();
isExport = true;
}else if(result == DialogResult.No){
isExport = true;
}
}else{
isExport = true;
}
//开始导入
if(isExport){
Thread thread = new Thread(new ThreadStart(this.DBExportToList));
thread.IsBackground = true;
thread.Start();
this.tabControl1.SelectedTab = this.tb_SendStatus;
}
}
}
/// <summary>
/// 将数据库中的邮址导入到任务列表中,由线程调用
/// </summary>
private void DBExportToList(){
int _start = 0;
try{
_start = Int32.Parse(this.startNum.Text);
}catch(Exception ex){
MessageBox.Show(ex.Message.ToString());
return;
}
if(Public.taskDS != null){
if(Public.taskDS.Tables[0].Rows.Count > 200){
MessageBox.Show("因数据量大,导入时间可能较长,请耐心等候!");
}
//
this.threadId = 0;
for(int i=_start-1;i<Public.taskDS.Tables[0].Rows.Count;i++){
DataRow row = Public.taskDS.Tables[0].Rows[i];
this.SetStatus("正在导入:" + row["mailName"].ToString());
Public.InsertMailToListView(row["mailName"].ToString(),this.taskList);
while(this.threadNames.Count > 3){
Thread.Sleep(10);
}
}
}
this.groupBox4.Text = "等待发送("+ this.taskList.Items.Count.ToString() +")";
while(this.threadNames.Count > 0){
Thread.Sleep(10);
}
this.status.Text = "等待任务....";
MessageBox.Show("导入完成!");
//销毁线程
Thread.CurrentThread.Abort();
}
/// <summary>
/// 将上次已发送邮件数重置为0
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button5_Click(object sender, System.EventArgs e) {
this.sendedNum.Text = "0";
this.startNum.Text = "1";
}
/// <summary>
/// 选择TXT文极档目录
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button9_Click(object sender, System.EventArgs e) {
if(this.openFileDialog1.ShowDialog() == DialogResult.OK){
this.txtFile.Text = this.openFileDialog1.FileName;
}
}
/// <summary>
/// 将TXT中的数据导入到SQL中
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button10_Click(object sender, System.EventArgs e) {
//if(Database.connStr.Length < 5 && MessageBox.Show("没有可用的数据库连接","",MessageBoxButtons.OKCancel,MessageBoxIcon.Question) == DialogResult.OK){
// //
//}
if(Database.connStr.Length < 5){
MessageBox.Show("没有可用的数据库连接!");
return;
}
if(this.txtFile.Text.Length > 0 && File.Exists(this.txtFile.Text)){
Public _public = new Public();
Public.txtFile = this.txtFile.Text;
//去掉重复
Public.isCheck = this.delRe.Checked;
Thread thread = new Thread(new ThreadStart(_public.ReadMailFromToDb));
thread.IsBackground = true;
thread.Name = "ExportMail";
thread.Start();
this.status.Text = "正在导入..";
this.button9.Enabled = false;
this.button10.Enabled = false;
while(thread.ThreadState.ToString().ToUpper() != "STOPPED"){
if(this.status.Text.Length < 15){
this.status.Text += "..";
}else{
this.status.Text = "正在导入..";
}
Thread.Sleep(200);
}
this.button9.Enabled = true;
this.button10.Enabled = true;
//重新连接数据库载入相关数据
if(Database.connStr != null){
this.status.Text = "重新载入....";
Thread.Sleep(100);
this.LoadNums();
}
this.status.Text = "等待任务....";
}else{
MessageBox.Show("Txt文档路径未设置正确!");
return;
}
}
/// <summary>
/// 登录其它数据库
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button11_Click(object sender, System.EventArgs e) {
this.button4.Enabled = true;
this.sqlServer.Enabled = true;
this.databaseName.Enabled = true;
this.sqlUsername.Enabled = true;
this.sqlPassword.Enabled = true;
this.button11.Visible = false;
}
#endregion
#region 发送邮件
/// <summary>
/// 载入发送邮件
/// </summary>
private void LoadSendMail(){
DataSet ds = Database.HBJ_SendMail();
for(int i=0;i<ds.Tables[0].Rows.Count;i++){
DataRow row = ds.Tables[0].Rows[i];
ListViewItem lvi = new ListViewItem(new string[]{row["sendMail"].ToString(),"",row["sendServer"].ToString(),row["loginUsername"].ToString(),row["loginPassword"].ToString()});
this.sendMailList.Items.Add(lvi);
}
ds = null;
}
/// <summary>
/// 保存发送邮址
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button6_Click(object sender, System.EventArgs e) {
if(Database.connStr.Length < 5){
MessageBox.Show("没有可用的数据库连接!");
return;
}
if(this.mailName.Text.Trim() != null && this.mailName.Text.IndexOf("@") > 1 && this.mailServer.Text.Trim() != ""){
//检查重复性
for(int i=0;i<this.sendMailList.Items.Count;i++){
string _mn = this.sendMailList.Items[i].SubItems[0].Text;
if(_mn.Trim().ToLower() == this.mailName.Text.Trim().ToLower() && this.mailName.Enabled){
i = this.sendMailList.Items.Count;
MessageBox.Show("已存在相同的发送邮件地址!");
return;
}
}
//保存
try{
if(this.sendMailList.Items.Count == 0 || this.sendMailList.SelectedItems.Count == 0){
Database.InsertSendMail(this.mailName.Text,this.mailServer.Text,this.mailUsername.Text,this.mailPassword.Text);
this.sendMailList.Items.Add(new ListViewItem(new string[]{this.mailName.Text,"",this.mailServer.Text,this.mailUsername.Text,this.mailPassword.Text}));
}else{
Database.UpdateSendMail(this.mailName.Text,this.mailServer.Text,this.mailUsername.Text,this.mailPassword.Text);
ListViewItem lvi = new ListViewItem(new string[]{this.mailName.Text,"",this.mailServer.Text,this.mailUsername.Text,this.mailPassword.Text});
int _selectedIndex = this.sendMailList.SelectedItems[0].Index;
this.sendMailList.Items.Remove(this.sendMailList.Items[this.sendMailList.SelectedItems[0].Index]);
this.sendMailList.Items.Insert(_selectedIndex,lvi);
}
this.mailName.Enabled = true;
this.mailName.Text = "";
this.mailServer.Text = "";
this.mailUsername.Text = "";
this.mailPassword.Text = "";
}catch(Exception ex){
MessageBox.Show(ex.Message.ToString());
return;
}
}else{
MessageBox.Show("设置有误!");
return;
}
}
/// <summary>
/// 删除发送邮址
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button7_Click(object sender, System.EventArgs e) {
if(this.sendMailList.Items.Count > 0 && this.sendMailList.SelectedItems.Count == 1){
string _mn = this.sendMailList.Items[this.sendMailList.SelectedItems[0].Index].SubItems[0].Text;
try{
Database.DelSendMail(_mn);
this.sendMailList.Items.Remove(this.sendMailList.Items[this.sendMailList.SelectedItems[0].Index]);
this.mailName.Enabled = true;
this.mailName.Text = "";
this.mailServer.Text = "";
this.mailUsername.Text = "";
this.mailPassword.Text = "";
}catch(Exception ex){
MessageBox.Show(ex.Message.ToString());
}
}
}
/// <summary>
/// 验证发送邮址是否可用
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button8_Click(object sender, System.EventArgs e) {
Thread thread = new Thread(new ThreadStart(this.TestSendMail));
thread.IsBackground = true;
thread.Start();
if(this.sendMailList.Items.Count > 0 && this.sendMailList.SelectedItems.Count > 0)
this.SetStatus("正在测试 " + this.sendMailList.Items[this.sendMailList.SelectedItems[0].Index].SubItems[0].Text + " ....");
}
/// <summary>
/// 测试发送邮件是否可用
/// </summary>
private void TestSendMail(){
//发送测试
if(this.sendMailList.Items.Count > 0 && this.sendMailList.SelectedItems.Count > 0){
string _sendMail = this.sendMailList.Items[this.sendMailList.SelectedItems[0].Index].SubItems[0].Text;
string _sendSeve = this.sendMailList.Items[this.sendMailList.SelectedItems[0].Index].SubItems[2].Text;
string _sendUser = this.sendMailList.Items[this.sendMailList.SelectedItems[0].Index].SubItems[3].Text;
string _sendPass = this.sendMailList.Items[this.sendMailList.SelectedItems[0].Index].SubItems[4].Text;
try{
//Public.SendMailByJmail(_sendMail,this.mailText.Text,"manager200601@126.com","",this.mailTitle.Text,this.mailHtml.Text,_sendSeve,_sendUser,_sendPass);
Public.SendMailBySMTP(_sendMail,"manager200601@126.com",this.mailTitle.Text,this.mailHtml.Text,_sendSeve,_sendUser,_sendPass);
this.sendMailList.Items[this.sendMailList.SelectedItems[0].Index].SubItems[1].Text = "OK";
}catch(Exception ex){
this.sendMailList.Items[this.sendMailList.SelectedItems[0].Index].SubItems[1].Text = "No";
MessageBox.Show(ex.Message.ToString());
}
}
this.SetStatus("等待任务....");
//销毁此线程
Thread.CurrentThread.Abort();
}
/// <summary>
/// 设置完发送间隔时间后
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void sendSpaceTime_Leave(object sender, System.EventArgs e) {
//验证间隔时间是否为1秒
try{
int _sec = Int32.Parse(this.sendSpaceTime.Text.Trim());
if(_sec < 1) throw new Exception("间隔时间最小只能设置到1秒");
}catch(Exception ex){
MessageBox.Show(ex.Message.ToString());
this.sendSpaceTime.Focus();
return;
}
//重新保存配置
this.SaveSystemConfig();
}
/// <summary>
/// 当选择了不同的条目时
/// </summary>
/// <param name="send
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -