[C#] 发邮件 发送邮件 →→→→→进入此内容的聊天室

来自 , 2019-07-31, 写在 C#, 查看 121 次.
URL http://www.code666.cn/view/f12f2b34
  1.         public static void SendMailLocalhost(string MailType,XmlOpseae Opseae)
  2.         {
  3.             System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage();
  4.             //首先获取发件人 发件公司 发件邮箱(委托方) // 收件人 收件公司 收件邮箱(承运方)
  5.             var strSql = new StringBuilder();
  6.             strSql.Append(" select case AUDITOR WHEN '' then ");
  7.             strSql.Append(" (select email from userinfo where userid in (select userid from login where companyID=FORWARDER) and departmentID='CompanyMaster') ");
  8.             strSql.Append(" else (select email from userinfo where userid=AUDITOR) end ReceiverEmail ");
  9.             strSql.Append(" ,case AUDITOR WHEN '' then  ");
  10.             strSql.Append(" (select username from userinfo where userid in (select userid from login where companyID=FORWARDER) and departmentID='CompanyMaster') ");
  11.             strSql.Append(" else (select username from userinfo where userid=AUDITOR) end Receivername ");
  12.             strSql.Append(" ,u.username sendername,u.email senderEmail ");
  13.             strSql.Append(" ,(select fullname from company where companyid=bcs.forwarder) receiverCompany ");
  14.             strSql.Append(" ,(select fullname from company where companyid=bcs.companyid) sendercompany ");
  15.             strSql.Append(" ,(select Mobile from userinfo where userid=bcs.inputby) senderMobile ");
  16.             strSql.Append(" ,(select Mobile from userinfo where userid=bcs.Auditor) receiverMobile ");
  17.             strSql.Append(" ,bcs.* ");
  18.             strSql.Append(" from BookingCargoSpace bcs ");
  19.             strSql.Append(" left join userinfo U on u.userid = bcs.inputby ");
  20.             strSql.Append(" where bsno='" + Opseae.BSNO + "' ");
  21.  
  22.             DataSet ds = new DataSet();
  23.             Database db = DatabaseFactory.CreateDatabase();
  24.  
  25.             var SenderName = "";
  26.             var SenderEmail = "";
  27.             var SenderCompany = "";
  28.             var SenderMobile = "";
  29.             var ReceiverName = "";
  30.             var ReceiverEmail = "";
  31.             var ReceiverCompany = "";
  32.             var ReceiverMobile = "";
  33.             var EmailText = new StringBuilder();
  34.             var EmailTitle = new StringBuilder();
  35.             try
  36.             {
  37.                 using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()) )
  38.                 {                
  39.                     while (reader.Read())
  40.                     {
  41.  
  42.                             SenderName = Convert.ToString(reader["SenderName"]);
  43.                             SenderEmail = Convert.ToString(reader["SenderEmail"]);
  44.                             SenderCompany = Convert.ToString(reader["SenderCompany"]);
  45.                             SenderMobile = Convert.ToString(reader["SenderMobile"]);
  46.                             ReceiverName = Convert.ToString(reader["ReceiverName"]);
  47.                             ReceiverEmail = Convert.ToString(reader["ReceiverEmail"]);
  48.                             ReceiverCompany = Convert.ToString(reader["ReceiverCompany"]);
  49.                             ReceiverMobile = Convert.ToString(reader["ReceiverMobile"]);
  50.                             EmailTitle.Clear();
  51.                             EmailTitle.Append("");
  52.  
  53.                     }
  54.                     reader.Close();
  55.                 }
  56.             }
  57.             catch (Exception)
  58.             {
  59.  
  60.             }
  61.             finally
  62.             {
  63.  
  64.             }
  65.             if (MailType == "拒绝订舱" || MailType == "待定" || MailType == "拒绝提单确认")
  66.             {
  67.                 msg.To.Add( SenderEmail);
  68.                 msg.From = new MailAddress(ReceiverEmail, ReceiverName, System.Text.Encoding.UTF8);
  69.             }
  70.             else {
  71.                 msg.To.Add(ReceiverEmail);
  72.                 msg.From = new MailAddress(SenderEmail, SenderName, System.Text.Encoding.UTF8);            
  73.             }
  74.             /* 上面3个参数分别是发件人地址(可以随便写),发件人姓名,编码*/
  75.             var Subject = "";
  76.             var Body = new StringBuilder();
  77.  
  78.             if (MailType == "订舱") {
  79.                 Subject = " 订舱:From "+SenderCompany;
  80.                 if (Opseae.ETD!="")
  81.                     Subject = Subject+" 船期"+Opseae.ETD;
  82.                 if (Opseae.CNTR != "")
  83.                 Subject = Subject + " 箱型箱量" + Opseae.CNTR;
  84.                 if (Opseae.DESTINATION != "")
  85.                 Subject = Subject + " 目的地" + Opseae.DESTINATION;
  86.  
  87.                 //Body.Append(Subject);
  88.                 Body.Append("<html> <Body>订舱公司:" + SenderCompany);
  89.  
  90.                 Body.Append("<br />订舱人:" + SenderName + "&nbsp;&nbsp;&nbsp;电话:" + SenderMobile + "&nbsp;&nbsp;&nbsp;邮箱:" + SenderEmail);
  91.                 if (Opseae.CNTR != "")
  92.                     Body.Append("<br />箱型箱量:" + Opseae.CNTR);
  93.                 if (Opseae.ETD != "")
  94.                     Body.Append("<br />船期:" + Opseae.ETD);
  95.                 if (Opseae.CNTR != "")
  96.                     Body.Append("<br />目的地:" + Opseae.DESTINATION);
  97.                 if (Opseae.BOOKINGDESCRIPTION != "")
  98.                     Body.Append("<br />订舱说明:" + Opseae.BOOKINGDESCRIPTION);
  99.             }
  100.             if (MailType == "退舱")
  101.             {
  102.                 Subject = " 退舱申请:From " + SenderCompany;
  103.                 if (Opseae.ETD != "")
  104.                     Subject = Subject + " 船期" + Opseae.ETD;
  105.                 if (Opseae.CNTR != "")
  106.                     Subject = Subject + " 箱型箱量" + Opseae.CNTR;
  107.                 if (Opseae.DESTINATION != "")
  108.                     Subject = Subject + " 目的地" + Opseae.DESTINATION;
  109.  
  110.                
  111.                 Body.Append("<html> <Body>");
  112.                 Body.Append("<br />您好,我公司希望撤回通过ShippingBox所订的此条业务,原因如下:<br />" + REHH(Opseae.PendingReason));
  113.                 Body.Append("<br />订舱公司:" + SenderCompany);
  114.                 Body.Append("<br />订舱人:" + SenderName + "&nbsp;&nbsp;&nbsp;电话:" + SenderMobile + "&nbsp;&nbsp;&nbsp;邮箱:" + SenderEmail);
  115.                 if (Opseae.CNTR != "")
  116.                     Body.Append("<br />箱型箱量:" + Opseae.CNTR);
  117.                 if (Opseae.ETD != "")
  118.                     Body.Append("<br />船期:" + Opseae.ETD);
  119.                 if (Opseae.CNTR != "")
  120.                     Body.Append("<br />目的地:" + Opseae.DESTINATION);
  121.                 if (Opseae.BOOKINGDESCRIPTION != "")
  122.                     Body.Append("<br />订舱说明:" + Opseae.BOOKINGDESCRIPTION);
  123.             }
  124.             if (MailType == "拒绝订舱")
  125.             {
  126.                 Subject = " 拒绝订舱提醒:From " + ReceiverCompany;
  127.                 if (Opseae.ETD != "")
  128.                     Subject = Subject + " 船期" + Opseae.ETD;
  129.                 if (Opseae.CNTR != "")
  130.                     Subject = Subject + " 箱型箱量" + Opseae.CNTR;
  131.                 if (Opseae.DESTINATION != "")
  132.                     Subject = Subject + " 目的地" + Opseae.DESTINATION;
  133.  
  134.                 Body.Append("<html> <Body>");
  135.                 Body.Append("<br />您好,您通过ShippingBox所订业务被拒绝,理由如下:<br />" + REHH(Opseae.PendingReason));
  136.                 Body.Append("<br />订舱代理公司:" + ReceiverCompany);
  137.                 Body.Append("<br />操作人:" + ReceiverName + "&nbsp;&nbsp;&nbsp;电话:" + ReceiverMobile + "&nbsp;&nbsp;&nbsp;邮箱:" + ReceiverEmail);
  138.                
  139.                 if (Opseae.CNTR != "")
  140.                     Body.Append("<br />箱型箱量:" + Opseae.CNTR);
  141.                 if (Opseae.ETD != "")
  142.                     Body.Append("<br />船期:" + Opseae.ETD);
  143.                 if (Opseae.CNTR != "")
  144.                     Body.Append("<br />目的地:" + Opseae.DESTINATION);
  145.                 if (Opseae.BOOKINGDESCRIPTION != "")
  146.                     Body.Append("<br />订舱说明:" + Opseae.BOOKINGDESCRIPTION);
  147.             }
  148.             if (MailType == "待定")
  149.             {
  150.                 Subject = " 订舱被待定:From " + SenderCompany;
  151.                 if (Opseae.ETD != "")
  152.                     Subject = Subject + " 船期" + Opseae.ETD;
  153.                 if (Opseae.CNTR != "")
  154.                     Subject = Subject + " 箱型箱量" + Opseae.CNTR;
  155.                 if (Opseae.DESTINATION != "")
  156.                     Subject = Subject + " 目的地" + Opseae.DESTINATION;
  157.  
  158.                 //Body.Append(Subject);
  159.                 Body.Append("<html> <Body>接收订舱公司:" + SenderCompany);
  160.  
  161.                 Body.Append("<br />操作人:" + SenderName + "&nbsp;&nbsp;&nbsp;电话:" + SenderMobile + "&nbsp;&nbsp;&nbsp;邮箱:" + SenderEmail);
  162.                 if (Opseae.CNTR != "")
  163.                     Body.Append("<br />箱型箱量:" + Opseae.CNTR);
  164.                 if (Opseae.ETD != "")
  165.                     Body.Append("<br />船期:" + Opseae.ETD);
  166.                 if (Opseae.CNTR != "")
  167.                     Body.Append("<br />目的地:" + Opseae.DESTINATION);
  168.                 if (Opseae.BOOKINGDESCRIPTION != "")
  169.                     Body.Append("<br />订舱说明:" + Opseae.BOOKINGDESCRIPTION);
  170.                 if (Opseae.PendingReason != "")
  171.                     Body.Append("<br />待定理由:" + REHH(Opseae.PendingReason));
  172.             }
  173.             if (MailType == "拒绝提单确认")
  174.             {
  175.                 Subject = " 拒绝提单确认:From " + ReceiverCompany;
  176.                 if (Opseae.ETD != "")
  177.                     Subject = Subject + " 船期" + Opseae.ETD;
  178.                 if (Opseae.CNTR != "")
  179.                     Subject = Subject + " 箱型箱量" + Opseae.CNTR;
  180.                 if (Opseae.DESTINATION != "")
  181.                     Subject = Subject + " 目的地" + Opseae.DESTINATION;
  182.  
  183.                 Body.Append("<html> <Body>");
  184.                 Body.Append("<br />您好,您通过ShippingBox所提交提单确认被拒绝,理由如下:<br />" + REHH(Opseae.PendingReason));
  185.                 Body.Append("<br />订舱代理公司:" + ReceiverCompany);
  186.                 Body.Append("<br />操作人:" + ReceiverName + "&nbsp;&nbsp;&nbsp;电话:" + ReceiverMobile + "&nbsp;&nbsp;&nbsp;邮箱:" + ReceiverEmail);
  187.  
  188.                 if (Opseae.CNTR != "")
  189.                     Body.Append("<br />箱型箱量:" + Opseae.CNTR);
  190.                 if (Opseae.ETD != "")
  191.                     Body.Append("<br />船期:" + Opseae.ETD);
  192.                 if (Opseae.CNTR != "")
  193.                     Body.Append("<br />目的地:" + Opseae.DESTINATION);
  194.                 if (Opseae.BOOKINGDESCRIPTION != "")
  195.                     Body.Append("<br />订舱说明:" + Opseae.BOOKINGDESCRIPTION);
  196.             }
  197.             Body = SetBottom(Body, Opseae.BSNO);
  198.  
  199.             msg.Subject = Subject;//邮件标题  
  200.             msg.SubjectEncoding = System.Text.Encoding.UTF8;//邮件标题编码  
  201.             msg.Body = Body.ToString();//邮件内容  
  202.             msg.BodyEncoding = System.Text.Encoding.UTF8;//邮件内容编码  
  203.             msg.IsBodyHtml = true;//是否是HTML邮件  
  204.             msg.Priority = MailPriority.High;//邮件优先级
  205.             var content = "";
  206.             AlternateView htmlBody = AlternateView.CreateAlternateViewFromString(content, null, "text/html");
  207.             /*
  208.             LinkedResource lrImage = new LinkedResource(@"D:\DSWebservice\a.jpg", "image/gif");
  209.             lrImage.ContentId = "Email001";
  210.             htmlBody.LinkedResources.Add(lrImage);
  211.             msg.AlternateViews.Add(htmlBody);*/
  212.            
  213.             SmtpClient client = new SmtpClient();
  214.             client.Credentials = new System.Net.NetworkCredential("admin@dongshengsoft.com", "ds!@#)(*");
  215.             //在71info.com注册的邮箱和密码    
  216.             client.Host = "smtpcom.263xmail.com";
  217.             object userState = msg;
  218.             var Result = "";
  219.             try
  220.             {
  221.                 //client.SendAsync(msg, userState);  
  222.                 //简单一点儿可以
  223.                 client.Send(msg);
  224.                 //MessageBox.Show("发送成功");  
  225.             }
  226.             catch (System.Net.Mail.SmtpException ex)
  227.             {
  228.                 Result = ex.Message;
  229.             }
  230.         }
  231.        
  232.         public static void SendMSGMail ( XmlMSGInfo Mail )
  233.         {
  234.             System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage();
  235.             //首先获取发件人 发件公司 发件邮箱(委托方) // 收件人 收件公司 收件邮箱(承运方)
  236.             var strSql = new StringBuilder();
  237.             strSql.Append(" select M.*,S.userName S_userName,S.mobile S_mobile,S.email S_email,S.fullName S_Company ");
  238.             strSql.Append(" ,r.userName R_userName,r.mobile R_mobile,r.email  R_email,R.fullName R_Company from BookingMSG m ");
  239.             strSql.Append(" left join vw_user S on s.userID=m.SENDERID ");
  240.             strSql.Append(" left join vw_user R on R.userID=m.RECEIVERID ");
  241.             strSql.Append(" where BSNO='" + Mail.BSNO + "' and MSGDate='" + Mail.MSGDate  + "' ");
  242.  
  243.             DataSet ds = new DataSet();
  244.             Database db = DatabaseFactory.CreateDatabase();
  245.  
  246.             var SenderName = "";
  247.             var SenderEmail = "";
  248.             var SenderCompany = "";
  249.             var SenderMobile = "";
  250.             var ReceiverName = "";
  251.             var ReceiverEmail = "";
  252.             var ReceiverCompany = "";
  253.             var ReceiverMobile = "";
  254.             var BSNO = "";
  255.             var EmailText = new StringBuilder();
  256.             var EmailTitle = new StringBuilder();
  257.             try
  258.             {
  259.                 using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
  260.                 {
  261.                     while (reader.Read())
  262.                     {
  263.                         SenderName = Convert.ToString(reader["S_userName"]);
  264.                         SenderEmail = Convert.ToString(reader["S_email"]);
  265.                         SenderCompany = Convert.ToString(reader["S_Company"]);
  266.                         SenderMobile = Convert.ToString(reader["S_mobile"]);
  267.                         ReceiverName = Convert.ToString(reader["R_userName"]);
  268.                         ReceiverEmail = Convert.ToString(reader["R_email"]);
  269.                         ReceiverCompany = Convert.ToString(reader["R_Company"]);
  270.                         ReceiverMobile = Convert.ToString(reader["R_mobile"]);
  271.                         BSNO = Convert.ToString(reader["BSNO"]);
  272.                         EmailTitle.Clear();
  273.                         EmailTitle.Append("");
  274.                     }
  275.                     reader.Close();
  276.                 }
  277.  
  278.  
  279.             }
  280.             catch (Exception)
  281.             {
  282.  
  283.             }
  284.             finally
  285.             {
  286.  
  287.             }
  288.  
  289.             msg.To.Add(ReceiverEmail);
  290.  
  291.             msg.From = new MailAddress(SenderEmail, SenderName, System.Text.Encoding.UTF8);
  292.  
  293.             var Subject = "";
  294.             var Body = new StringBuilder();
  295.             var Opseae = GetBookingCargoSpace(BSNO);
  296.  
  297.             Subject = " 沟通消息: " + SenderCompany;
  298.             if (Opseae.VESSEL != "")
  299.                 Subject = Subject + "--" + Opseae.VESSEL;
  300.             if (Opseae.VOYNO != "")
  301.                 Subject = Subject + "--" + Opseae.VOYNO;
  302.             if (Opseae.MBLNO != "")
  303.                 Subject = Subject + "--" + Opseae.MBLNO;              
  304.             if (Opseae.ETD != "")                  
  305.                 Subject = Subject + "--" + Opseae.ETD;                
  306.             if (Opseae.CNTR != "")                    
  307.                 Subject = Subject + "--" + Opseae.CNTR;                
  308.             if (Opseae.DESTINATION != "")                    
  309.                 Subject = Subject + "--" + Opseae.DESTINATION;
  310.  
  311.                 //Body.Append(Subject);
  312.             Body.Append("<html> <Body>关于  ");
  313.                 if (Opseae.VESSEL != "")
  314.                     Body.Append("--" + Opseae.VESSEL);
  315.                 if (Opseae.VOYNO != "")
  316.                     Body.Append( "--" + Opseae.VOYNO);
  317.                 if (Opseae.MBLNO != "")
  318.                     Body.Append( "--" + Opseae.MBLNO);
  319.                 if (Opseae.ETD != "")
  320.                     Body.Append( "--" + Opseae.ETD);
  321.                 if (Opseae.CNTR != "")
  322.                     Body.Append( "--" + Opseae.CNTR);
  323.                 if (Opseae.DESTINATION != "")
  324.                     Body.Append( "--" + Opseae.DESTINATION);
  325.  
  326.                 Body.Append(":<br />" + REHH( Mail.FieldValue));
  327.  
  328.                 Body.Append("<br /><br />联系人:" + SenderName + "&nbsp;&nbsp;&nbsp;电话:" + SenderMobile + "&nbsp;&nbsp;&nbsp;邮箱:" + SenderEmail);
  329.  
  330.  
  331.                 Body = SetBottom(Body, Opseae.BSNO);
  332.  
  333.             msg.Subject = Subject;//邮件标题  
  334.             msg.SubjectEncoding = System.Text.Encoding.UTF8;//邮件标题编码  
  335.             msg.Body = Body.ToString();//邮件内容  
  336.             msg.BodyEncoding = System.Text.Encoding.UTF8;//邮件内容编码  
  337.             msg.IsBodyHtml = true;//是否是HTML邮件  
  338.             msg.Priority = MailPriority.High;//邮件优先级
  339.             var content = "";
  340.             AlternateView htmlBody = AlternateView.CreateAlternateViewFromString(content, null, "text/html");
  341.  
  342.             SmtpClient client = new SmtpClient();
  343.             client.Credentials = new System.Net.NetworkCredential("admin@dongshengsoft.com", "ds!@#)(*");
  344.             //在71info.com注册的邮箱和密码    
  345.             client.Host = "smtpcom.263xmail.com";
  346.             object userState = msg;
  347.             var Result = "";
  348.             try
  349.             {
  350.                 //client.SendAsync(msg, userState);  
  351.                 //简单一点儿可以
  352.                 client.Send(msg);
  353.                 //MessageBox.Show("发送成功");  
  354.             }
  355.             catch (System.Net.Mail.SmtpException ex)
  356.             {
  357.                 Result = ex.Message;
  358.             }
  359.         }

回复 "发邮件 发送邮件"

这儿你可以回复上面这条便签

captcha