zoukankan      html  css  js  c++  java
  • 发送邮件的功能(来自康尼机电的委托协议)

     

    /// <summary>
    /// 加载邮件的初始化信息
    /// </summary>
    public void LoadMailInfo()
    {
    try
    {
    XElement xl = new XElement("root"
    ,new XElement("Type","QuoteMailINFO")
    ,new XElement("MainAID", MainAID.Text)
    ,new XElement("Creator", getUserName())
    );
    DataTable dt = Govaze.SQLServerDAL.Factory.getDataXmlDAL().ProcDataTable(xl.ToString(), "DataXmlForQuote");
    TBX_Tittle.Text = dt.Rows[0]["Tittle"].ToString();
    TBX_SendTo.Text = dt.Rows[0]["SendTo"].ToString();
    StringBuilder sb = new StringBuilder();
    sb.Append(dt.Rows[0]["CuntomerName"].ToString());
    sb.Append("<br/>");
    sb.Append("<br/>");

    sb.AppendLine(dt.Rows[0]["Messeage"].ToString() + " ( " + dt.Rows[0]["SalsName"].ToString() + ", 手机:" + dt.Rows[0]["SalsPhone"].ToString() + ", 邮箱:" + dt.Rows[0]["SalsEmail"].ToString() + " ) ");
    //sb.AppendLine(dt.Rows[0]["Messeage"].ToString() + " ( " + dt.Rows[0]["SalsName"].ToString() + ", 手机:" + dt.Rows[0]["SalsPhone"].ToString() + ", 邮箱:<a href=" + dt.Rows[0]["SalsEmail"].ToString() + ">" + dt.Rows[0]["SalsEmail"].ToString() + "</a> )");
    sb.Append("<br/>");
    sb.Append("<br/>");
    sb.Append("<br/>");
    sb.AppendLine(dt.Rows[0]["BottomText"].ToString());


    HED_MailHtml.Text = Server.HtmlDecode(sb.ToString());


    }
    catch { }

    }



    protected void Send_Click(object sender, EventArgs e)
    {

    //1 创建文件夹
    string FilePath = MainAID.Text + "_" + System.DateTime.Now.Ticks.ToString();
    System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(Server.MapPath("..\UploadFiles\MailFiles\") + FilePath);
    di.Create();
    //2 保存html 编辑器中的内容为txt到服务器
    string MailHtml = FilePath + ".txt";
    FileStream fs1 = new FileStream(Server.MapPath("..\UploadFiles\MailFiles\") + FilePath+"\" + MailHtml, FileMode.Create, FileAccess.Write);
    System.IO.StreamWriter sw = new System.IO.StreamWriter(fs1);
    sw.Write(HED_MailHtml.Text);
    sw.Flush();
    sw.Close();

    //3 生成文件保存到1创建的文件夹 并将路径添加到附件集
    List<string> AttachFiles = new List<string>();
    //AttachFiles.Add(GetQuoteFile(int.Parse(MainAID.Text), FlowNode.Text, SnID.Text, FilePath));
    string path = Server.MapPath("~\dot\") + "BGMB_JZ.docx";

    AttachFiles.Add(path);

    //4 保存到数据库
    XElement xl = new XElement("root"
    ,new XElement("Type","MailLogAdd")
    ,new XElement("MainAID",MainAID.Text) //委托单AID
    ,new XElement("MailType","委托协议") //日志类型
    ,new XElement("MailTittle",TBX_Tittle.Text) //邮件标题
    ,new XElement("SendTo",TBX_SendTo.Text) //收件人
    ,new XElement("CCTo", TBX_CCTo.Text) //抄送人
    ,new XElement("MailContentPath", MailHtml) //邮件正文
    ,new XElement("AttachFilePath", FilePath) // 附件路径文件夹
    ,new XElement("Creator",getUserName()) //创建人
    ,new XElement("CurrentIP", HttpContext.Current.Request.UserHostAddress) //IP地址
    );

    Govaze.SQLServerDAL.Factory.getDataXmlDAL().ExecProc(xl.ToString(), "DataXmlForQuote");

    //5 获取邮件服务器配置信息
    List<aSYSMailServer> m = Govaze.SQLServerDAL.Factory.getSystemConfigDAL().aSYSMailServerDis(getUserName());

    //6 发送邮件
    //Mail.SendEmailWithFile(m[0], TBX_SendTo.Text, TBX_Tittle.Text, HED_MailHtml.Text, getUserName(),AttachFiles);
    if (Mail.SendEmailWithFile(m[0], TBX_SendTo.Text, TBX_Tittle.Text, HED_MailHtml.Text, getUserName(), AttachFiles))
    {
    Alert.Show("发送成功!");
    }
    else
    { Alert.Show("发送失败!"); }

    }

    #region 报价单附件生成

    /// <summary>
    /// 报价单附件生成
    /// </summary>
    /// <param name="MainAID">报价单AID</param>
    /// <param name="FlowNode">环节</param>
    /// <param name="SnID">报价单编号</param>
    /// <param name="FilePath">附件保存文件夹</param>
    /// <returns></returns>
    protected string GetQuoteFile(int MainAID, string FlowNode, string SnID, string FilePath)
    {

    //string FileName = SnID + ".pdf";
    //string SavaFilesPath = Server.MapPath(("~\UploadFiles\MailFiles\") + FilePath+"\" + FileName);
    //string DotFileName = "";

    //List<dYWZCMainbyAID> list = Govaze.SQLServerDAL.Factory.getCHINADADAL().d_YWZC_dis_Main_ByAID(MainAID, getUserName());
    //foreach (dYWZCMainbyAID n in list)
    //{
    //switch (FlowNode)
    //{
    //case "10"://第一环节
    // DotFileName = Server.MapPath("~\dot\") + "baojiadanView.docx";
    // break;
    //case "20"://第二环节
    // DotFileName = Server.MapPath("~\dot\") + "baojiadanView.docx";
    // break;
    //case "30"://第三环节
    // DotFileName = Server.MapPath("~\dot\") + "baojiadan.docx";
    // break;
    //case "40":
    // DotFileName = Server.MapPath("~\dot\") + "baojiadan.docx";
    // break;
    //case "50":
    // DotFileName = Server.MapPath("~\dot\") + "baojiadan.docx";
    // break;
    //case "60":
    //break;
    // default: DotFileName = Server.MapPath("~\dot\") + "baojiadan.docx"; break;
    // }
    //}
    //Novacode.DocX wordDocTmp = null;
    //Novacode.DocX wordDoc = null;

    //var sbTable = new StringBuilder(@"<table style=""98.5%;word-break:break-all; word-wrap:break-all;table-layout:fixed;"">
    // <tr style="" border-bottom: 1px solid black;font-family: 黑体; text-align: center; font-size: small; font-weight: bold;"">
    // <td style=""50px"">
    // 项目<br/>Item</td>
    // <td style=""40px"">
    // 数量<br/>Qty</td>
    // <td style=""160px"">
    // 实验说明<br/>TestDescription</td>
    // <td style=""100px"">
    // 立项费<br/>Set-Up Charge</td>
    // <td style=""70px"">
    // 单价<br/>Price</td>
    // <td style=""70px"">
    // 计价单位<br/>Charge By</td>
    // <td style=""80px"">
    // 合计<br/>Item Total</td>
    // </tr>
    //</table>
    // ");

    //string pic20 = "";

    //int i = 0;

    //wordDoc = WordReportDocX.LoadTemplateDocument(DotFileName);


    //string type = "";

    //List<dYWZCSampleByMainAID> list1 = Govaze.SQLServerDAL.Factory.getCHINADADAL().d_YWZC_dis_Report_SYD_bySampleAID(MainAID, getUserName());
    //foreach (dYWZCSampleByMainAID n1 in list1)
    //{
    //WordReportDocX.InsertText(wordDoc, "$SampleStatus$", n1.SampleStatus);

    //WordReportDocX.InsertText(wordDoc, "$SampleCode$", n1.SampleCode);

    //WordReportDocX.InsertText(wordDoc, "$Text2$", n1.Text2);
    //WordReportDocX.InsertText(wordDoc, "$Text3$", n1.Text3);

    //WordReportDocX.InsertText(wordDoc, "$Text4$", n1.Text4);
    //WordReportDocX.InsertText(wordDoc, "$Text5$", n1.Text5);
    //WordReportDocX.InsertText(wordDoc, "$Text6$", n1.Text6);

    //WordReportDocX.InsertText(wordDoc, "$Text7$", n1.Text7);
    //WordReportDocX.InsertText(wordDoc, "$Text8$", n1.Text8);
    //WordReportDocX.InsertText(wordDoc, "$Text9$", n1.Text9);
    //WordReportDocX.InsertText(wordDoc, "$Text10$", n1.Text10);

    //WordReportDocX.InsertText(wordDoc, "$Text11$", n1.Text11);
    //WordReportDocX.InsertText(wordDoc, "$Text13$", n1.Text13);

    //WordReportDocX.InsertText(wordDoc, "$Text21$", n1.Text21);
    //WordReportDocX.InsertText(wordDoc, "$Text22$", n1.Text22);
    //WordReportDocX.InsertText(wordDoc, "$Text23$", n1.Text23);
    //WordReportDocX.InsertText(wordDoc, "$Text24$", n1.Text24);
    //WordReportDocX.InsertText(wordDoc, "$Text25$", n1.Text25);


    //WordReportDocX.InsertText(wordDoc, "$Text26$", n1.Text26);
    //WordReportDocX.InsertText(wordDoc, "$Text27$", n1.Text27);
    //WordReportDocX.InsertText(wordDoc, "$Text28$", n1.Text28);
    //WordReportDocX.InsertText(wordDoc, "$Text29$", n1.Text29);

    //WordReportDocX.InsertText(wordDoc, "$Text30$", n1.Text30);
    //WordReportDocX.InsertText(wordDoc, "$Text31$", n1.Text31);

    //WordReportDocX.InsertText(wordDoc, "$Text32$", n1.Text32);
    //WordReportDocX.InsertText(wordDoc, "$Text33$", n1.Text33);

    //WordReportDocX.InsertText(wordDoc, "$Text34$", n1.Text34);
    //WordReportDocX.InsertText(wordDoc, "$Text35$", n1.Text35);
    //WordReportDocX.InsertText(wordDoc, "$Text36$", n1.Text36);

    //WordReportDocX.InsertText(wordDoc, "$Text101$", n1.Text101);
    //WordReportDocX.InsertText(wordDoc, "$SnID$", n1.Text102);

    //WordReportDocX.InsertText(wordDoc, "$Text103$", n1.Text103);

    //WordReportDocX.InsertText(wordDoc, "$Text104$", n1.Text104);
    //WordReportDocX.InsertText(wordDoc, "$Text105$", n1.Text105);
    //WordReportDocX.InsertText(wordDoc, "$Text106$", n1.Text106);
    //WordReportDocX.InsertText(wordDoc, "$Text108$", n1.Text108);
    //WordReportDocX.InsertText(wordDoc, "$Text111$", n1.Text111);
    //WordReportDocX.InsertText(wordDoc, "$Text112$", n1.Text112);
    //WordReportDocX.InsertText(wordDoc, "$Text113$", n1.Text113);

    //WordReportDocX.InsertText(wordDoc, "$ClientName1$", n1.ClientName1);
    //WordReportDocX.InsertText(wordDoc, "$ClientName2$", n1.ClientName2);
    //WordReportDocX.InsertText(wordDoc, "$ClientName3$", n1.ClientName3);
    //type = n1.Text3;
    //if (n1.Text3 == "中文")
    //{
    // WordReportDocX.InsertText(wordDoc, "$NoteA$", "1.试验周期以项目工程师发出的《开案信》为依据。");
    // WordReportDocX.InsertText(wordDoc, "$NoteB$", "2.以上价格含普通发票税费。汇款手续费运费等试验费用以外的各种费用由客户自行承担。");
    // WordReportDocX.InsertText(wordDoc, "$Note1$", "备注:");
    // WordReportDocX.InsertText(wordDoc, "$Note2$", "Note:");
    //}
    //else
    //{
    // WordReportDocX.InsertText(wordDoc, "$NoteA$", "1.For test duration, please refer to Project Plan letter issued by project engineer.");
    // WordReportDocX.InsertText(wordDoc, "$NoteB$", " 2.This quotation is not including customs fee, remittance fee and mailing fee.");
    // WordReportDocX.InsertText(wordDoc, "$Note1$", "Note:");
    // WordReportDocX.InsertText(wordDoc, "$Note2$", "");
    //}
    //WordReportDocX.InsertText(wordDoc, "$Note3$", n1.Text12);
    //string n103 = n1.Num103.ToString();
    //if (!n103.Contains("."))
    //{
    // n103 = n103 + ".00";
    //}
    //WordReportDocX.InsertText(wordDoc, "$Num103$", n103);
    //pic20 = n1.Text35;
    //break;
    //}

    //List<d_YWZC_dis_Sample_TestItem_CE_Model> list2 = Govaze.SQLServerDAL.Factory.geta17025DAL().d_YWZC_dis_Report_SYD_bySampleAID_TestItem(MainAID, getUserName());
    //int rowNumber = 2;
    //foreach (d_YWZC_dis_Sample_TestItem_CE_Model s in list2)
    //{

    // sbTable.AppendFormat(@"<table style=""98.5%;word-break:break-all; word-wrap:break-all;table-layout:fixed;"">
    // <tr style=""font-family:宋体; font-size: small; text-align: center;"">
    // <td style=""50px"">{0}</br></td>
    // <td style=""40px"">{1}</br></td>
    // <td style=""160px"">{2}</br>{7}</td>
    // <td style=""100px"">{3}</br></td>
    // <td style=""70px"">{4}</br></td>
    // <td style=""70px"">{5}</br></td>
    // <td style=""80px"">{6}</br></td>
    // </tr>
    // </table>",
    // (rowNumber - 1).ToString(),
    // s.Text001,
    // s.Text002,
    // s.ItemType,
    // s.ItemName,
    // s.Text004,
    // s.Text003,
    // s.Text005);

    //bool retVal;
    //string Result;
    //retVal = Govaze.SQLServerDAL.Factory.geta17025DAL().FindVlaue("BSReamrk", null, null, s.AID, 0, getUserName(), out Result);
    //if (String.IsNullOrEmpty(Result))
    //{ }
    // else
    // {
    // if (type == "中文")
    // {
    // sbTable.AppendFormat(@"
    //<table style=""98.5%;word-break:break-all; word-wrap:break-all;table-layout:fixed;"">
    // <tr style=""font-family:宋体; font-size: 12; text-align: left;"">
    // <td colspan=""7""> 备注 Note:{0}</td>
    // </tr>
    //</table>", Result);
    // }
    // else
    // {
    // sbTable.AppendFormat(@"
    //<table style=""98.5%;word-break:break-all; word-wrap:break-all;table-layout:fixed;"">
    // <tr style=""font-family:宋体; font-size: 12; text-align: left;"">
    // <td colspan=""7"" > Note:{0}</td>
    // </tr>
    //</table>", Result);
    // }

    //}

    // rowNumber++;
    //}
    //if (i == 0)
    //{
    // wordDoc.SaveAs(SavaFilesPath);
    // wordDocTmp = WordReportDocX.LoadTemplateDocument(SavaFilesPath);
    //}
    //else
    //{
    // wordDocTmp.Paragraphs[wordDocTmp.Paragraphs.Count - 1].InsertPageBreakAfterSelf();
    // wordDocTmp.InsertDocument(wordDoc);
    //}


    //wordDocTmp.SaveAs(SavaFilesPath);
    //Document Doc = new Document(SavaFilesPath);
    //DocumentBuilder builder = new DocumentBuilder(Doc);
    ////sbTable.AppendLine("</table>");
    //bool isExistBook;
    //isExistBook = builder.MoveToBookmark("table");
    //if (isExistBook)
    //{ builder.InsertHtml("" + sbTable); }

    //if (String.IsNullOrEmpty(pic20))
    //{ }
    //else
    //{
    // bool isExistPicBook = builder.MoveToBookmark("PIC20");
    // string picpath = Server.MapPath("~/Picture/ESignaturePic/" + pic20);

    // if (isExistPicBook)
    // {
    // builder.InsertImage(picpath, 50, 20);
    // }

    //}
    //Doc.Save(SavaFilesPath, SaveFormat.Pdf);

    //return SavaFilesPath;
    return "";

    }

    #endregion

    System.Net.Mime.MediaTypeNames.Application.Octet>成员指定附件包含一般二进制数据。

  • 相关阅读:
    什么叫精通C++
    编程好书推荐
    Reading Notes ofC Traps and Pitfalls
    继承的小问题
    关于strcpy函数
    #pragma once 与 #ifndef 的区别解析
    模板类的友元重载函数
    NET开发人员必知的八个网站
    获取MDI窗体的实例
    .Net下收发邮件第三方公共库
  • 原文地址:https://www.cnblogs.com/sanshengshitouhua/p/14434915.html
Copyright © 2011-2022 走看看