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

📄 compose.aspx.cs

📁 一款小型的个人办公系统
💻 CS
📖 第 1 页 / 共 2 页
字号:
							att.FileName	   = FileName;
							att.FileAuthor     = Username;
							att.FileCatlog     = "邮件";
							att.FileVisualPath = "\\AttachFiles\\"+Username+"\\"+NewMailDirName+"\\"+FileName;
							hif.PostedFile.SaveAs(Server.MapPath(".")+"\\AttachFiles\\"+Username+"\\"+NewMailDirName+"\\"+FileName);
							listattfile.Add(att);	
						}
						hif=null;
					}
				}
				
			}
			catch 
			{				 
				Server.Transfer("../../Error.aspx");
			}

			
			return listattfile;
            			
		}
		#endregion
	
		#region 处理除收件人外的表单传递参数 传回MailMainBody类
		/// <summary>
		/// 发送不包括附件的邮件正文
		/// </summary>
		private MailMainBody ProcessFormPost()
		{	
 


			// 处理表单传递参数
			MailMainBody mailbody		= new MailMainBody();
			//	string cID = "0";

			mailbody.MailFolderType		= 1; //放入收件夹
			mailbody.MailReceiverStr	= Request.Form["hdnTxtSendTo"].ToString();
			mailbody.MailSendDate		= DateTime.Now.ToString();
			mailbody.MailSendLevel		= 1;//default 1 预留
			mailbody.MailSender			= Username;
			mailbody.MailReceiver		= ""; 
			mailbody.MailSubject		= (txtSubject.Text=="")?"无主题":txtSubject.Text;
			mailbody.MailBody			= txtBody.Text.Replace("\r\n","<br/>");
			mailbody.MailCcToAddr		= Request.Form["hdnTxtCcTo"].ToString();
			mailbody.MailBccToAddr		= Request.Form["hdnTxtBccTo"].ToString();
			mailbody.MailReadFlag		= 0;
			mailbody.MailTypeFlag		= 1;
			mailbody.MailClassID        = 0;
			mailbody.MailImportance		= Int32.Parse(listImportance.SelectedItem.Value);
			
 
			
			return mailbody;
		}
		#endregion

		#region 文档处理
		/// <summary>
		/// 文档处理处理,包括文档处理及附件处理
		/// </summary>
		private void DocProcess(MailMainBody mailbody,ArrayList upattlist)
		{
			
			string DocID = "";
			int cstRightToApproveDocument = 2;
			ProjectClass pjt = new ProjectClass();
			DocBody docbody = new DocBody();
			docbody.DocTitle			= mailbody.MailSubject;
			docbody.DocContent			= mailbody.MailBody;
			docbody.DocAddedBy			= mailbody.MailSender;
			docbody.DocClassID			= mailbody.MailClassID;
			docbody.DocAddedDate        = DateTime.Now.ToString();
			docbody.DocApprover			= (pjt.GetAccessPermission(Int32.Parse(ClassID),Username,cstRightToApproveDocument))?Username:"";
			docbody.DocApproveDate		= (pjt.GetAccessPermission(Int32.Parse(ClassID),Username,cstRightToApproveDocument))?DateTime.Now.ToString():"";
			docbody.DocApproved         = (docbody.DocApprover =="")?0:1;
			docbody.DocAttribute        = 0;
			docbody.DocType				= 0;
			
			DocumentClass doc = new DocumentClass();
			// 添加文档,并返回ID
				
			DocID = doc.AddDocBody(docbody);
			foreach(MailAttachFile  att in upattlist)
			{
				try
				{
					DocAttachFile docatt = new DocAttachFile();
					//  Mail Attach File 类转换为Doc Attach File
					docatt.FileAttribute  = 0;
					docatt.FileSize       = att.FileSize;
					docatt.FileName	      = att.FileName;
					docatt.FileAuthor     = Username;
					docatt.FileCatlog     = "文档";
					docatt.FileVisualPath = "Mail"+att.FileVisualPath;
					docatt.FileAddedDate  = DateTime.Now.ToString();
					docatt.DocID          = Int32.Parse(DocID);
					// 转换结束
					
					
					// 附件数据库处理
					doc.AddAttach(docatt,Int32.Parse(DocID));
					
					
				
				}
				catch 
				{
					Server.Transfer("../../Error.aspx");
				}
			}
			
		}
		#endregion

		private void btnSendMail_Click(object sender, System.EventArgs e)
		{
			HttpCookie UserCookie = Request.Cookies["Username"];
			Username = UserCookie.Value.ToString();
			OASelfManage.Components.Mail mailclass   = new OASelfManage.Components.Mail();
			MailMainBody mailbody = new MailMainBody(); 
			ArrayList listmail    = new ArrayList();
			ArrayList upattlist = (ArrayList)Session["upattlist"];
			//	ArrayList listattfile = new ArrayList();
			// 得到mailbody类
			mailbody = ProcessFormPost();
			//邮件处理
			
				
			try
			{	
				listmail     = mailclass.MailSend(mailbody); // 返回已经发送的邮件ID列表(包括抄送和密抄)
				//	listattfile	 = AttUpload(mailbody.MailReceiverStr.ToString());   // 返回邮件附件数组
				foreach(string mailID in listmail)
				{   // 循环发送邮件附件
					foreach(MailAttachFile att in upattlist)
					{   // 处理邮件附件的数据库操作部分 
							
						Random TempNameInt    = new Random(); 
						string NewDocDirName  = TempNameInt.Next(100000000).ToString();
						Directory.CreateDirectory(Server.MapPath(".")+"\\AttachFiles\\"+Username+"\\"+NewDocDirName);	
						//File.Move(Server.MapPath(".")+"\\"+att.FileVisualPath ,Server.MapPath(".")+"\\AttachFiles\\"+Username+"\\"+NewDocDirName+"\\"+att.FileName);
						File.Copy(Server.MapPath(".")+"\\"+att.FileVisualPath ,Server.MapPath(".")+"\\AttachFiles\\"+Username+"\\"+NewDocDirName+"\\"+att.FileName,true);
							
						//		Directory.Delete(Server.MapPath(".")+"\\"+att.FileVisualPath.ToString().Replace(att.FileName,""),true);
						att.FileVisualPath    = "\\AttachFiles\\"+Username+"\\"+NewDocDirName+"\\"+att.FileName;
						mailclass.AttSend(att,Int32.Parse(mailID));
					}
				}
 

				Response.Write("<script language=javascript>alert('邮件发送成功!');if(parent.frames.length==0) window.close();else self.location=('Index.aspx');</script>");	
			}
			catch 
			{
		 
				Server.Transfer("../../Error.aspx");
			}
		}


			

		private void txtSubject_TextChanged(object sender, System.EventArgs e)
		{
		
		}

		private void BindAttList()
		{
		
			this.listUp.Items.Clear();
			int count = 0;
			ArrayList upattlist = (ArrayList)Session["upattlist"];
			foreach(MailAttachFile  att in upattlist)
			{
				count++;
				this.listUp.Items.Add(new ListItem(att.FileName.ToString(),count.ToString()));
			
			}

		}

		private void btnUpload_Click(object sender, System.EventArgs e)
		{
			HtmlForm FrmCompose   = (HtmlForm)this.Page.FindControl("Compose");
			Random TempNameInt    = new Random(); 
			string NewMailDirName  = TempNameInt.Next(100000000).ToString();
			// 存放附件至提交人目录中,随机生成目录名
			ArrayList upattlist = (ArrayList)Session["upattlist"];
			string FileName       = "";
			try
			{ 
				if(!Directory.Exists(Server.MapPath(".")+"\\AttachFiles\\tmp"))
					Directory.CreateDirectory(Server.MapPath(".")+"\\AttachFiles\\tmp");
				
				Directory.CreateDirectory(Server.MapPath(".")+"\\AttachFiles\\tmp\\"+NewMailDirName+Username);
				for (int i=0;i<FrmCompose.Controls.Count;i++)
				{	
					if(FrmCompose.Controls [i].GetType().ToString()=="System.Web.UI.HtmlControls.HtmlInputFile")
					{
							
						HtmlInputFile hif = ((HtmlInputFile)(FrmCompose.Controls[i]));
						if(hif.PostedFile.FileName.Trim()!="")
						{	
							FileName = System.IO .Path.GetFileName(hif.PostedFile.FileName);	
							MailAttachFile att = new MailAttachFile();
							// 初始化
							att.FileAttribute  = 0;
							att.FileSize       = hif.PostedFile.ContentLength;
							att.FileName	   = FileName;
							att.FileAuthor     = Username;
							att.FileCatlog     = "邮件";
							att.FileVisualPath = "\\AttachFiles\\tmp\\"+NewMailDirName+Username+"\\"+FileName;
							hif.PostedFile.SaveAs(Server.MapPath(".")+"\\AttachFiles\\tmp\\"+NewMailDirName+Username+"\\"+FileName);
							upattlist.Add(att);	
														
						}
						hif=null;
					}
				}
				Session["upattlist"] = upattlist;
				BindAttList();
				this.SendToRealName       = Request.Form["txtSendTo"].ToString();
				this.SendTo				  = Request.Form["hdnTxtSendTo"].ToString();
				this.CcTo				  = Request.Form["hdnTxtCcTo"].ToString();
				this.BccTo				  = Request.Form["hdnTxtBccTo"].ToString();
				this.CcToRealName         = Request.Form["txtCcTo"].ToString();
				this.BccToRealName        = Request.Form["txtBccTo"].ToString();  
			} 
			catch
			{				 
				Server.Transfer("../../Error.aspx");
			}
		}

		private void btnRemove_Click(object sender, System.EventArgs e)
		{
			ArrayList upattlist = (ArrayList)Session["upattlist"];
			for(int i=listUp.Items.Count-1;i>=0;i--)
			{
				if(this.listUp.Items[i].Selected)
				{
					this.listUp.Items.RemoveAt(i);
					upattlist.RemoveAt (i);
				}
			}
			
			Session["upattlist"] = upattlist;
			this.SendToRealName       = Request.Form["txtSendTo"].ToString();
			this.SendTo				  = Request.Form["hdnTxtSendTo"].ToString();
			this.CcTo				  = Request.Form["hdnTxtCcTo"].ToString();
			this.BccTo				  = Request.Form["hdnTxtBccTo"].ToString();
			this.CcToRealName         = Request.Form["txtCcTo"].ToString();
			this.BccToRealName        = Request.Form["txtBccTo"].ToString();  
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -