⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 form1.cs

📁 email 发送 asp.net 2.0开发
💻 CS
📖 第 1 页 / 共 5 页
字号:
			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 + -