📄 compose.aspx.cs
字号:
Response.End();
}
}
if(cblistAttribute.Items[0].Selected)
{
// 非空验证
if(Request.Form["hdnTxtSendTo"].ToString()=="")
{
Response.Write("<script language=javascript>alert('请选择收件人!');history.go(-1);</script>");
Response.End();
}
}
// 处理表单传递参数
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 = Request.Form["hdnProjectID"].ToString()!=""?Int32.Parse(Request.Form["hdnProjectID"].ToString()):0;
mailbody.MailImportance = Int32.Parse(listImportance.SelectedItem.Value);
//处理短信提醒
if(this.cbRemind.Checked ==true)
{
SMS sm = new SMS();
sm.SendMsg(Username,mailbody.MailReceiverStr+mailbody.MailCcToAddr+mailbody.MailBccToAddr,"您从"+Username+"处收到了一封新的邮件",1,DateTime.Now,"",0,0);
sm = null;
}
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(UDS.Components.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(Exception ioex)
{
UDS.Components.Error.Log(ioex.ToString());
Server.Transfer("../../Error.aspx");
}
}
}
#endregion
/// <summary>
/// 发信处理,包括邮件处理及附件处理
/// </summary>
private void btnSendMail_Click(object sender, System.EventArgs e)
{
HttpCookie UserCookie = Request.Cookies["Username"];
Username = UserCookie.Value.ToString();
MailClass mailclass = new UDS.Components.MailClass();
MailMainBody mailbody = new UDS.Components.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(UDS.Components.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));
}
}
if(cblistAttribute.Items[1].Selected&&Request.Form["hdnProjectID"].ToString()!="0")
{
DocProcess(mailbody,upattlist);
}
Response.Write("<script language=javascript>alert('邮件发送成功!');if(parent.frames.length==0) window.close();else self.location=('Index.aspx');</script>");
}
catch (Exception sendex)
{
UDS.Components.Error.Log(sendex.ToString());
Server.Transfer("../../Error.aspx");
}
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.txtSubject.TextChanged += new System.EventHandler(this.txtSubject_TextChanged);
this.btnUpload.Click += new System.EventHandler(this.btnUpload_Click);
this.btnRemove.Click += new System.EventHandler(this.btnRemove_Click);
this.btnSendMail.Click += new System.EventHandler(this.btnSendMail_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
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(UDS.Components.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);
UDS.Components.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(Exception ioex)
{
UDS.Components.Error.Log(ioex.ToString());
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 + -