像购物网站,客户下单后,系统会发一封邮件通知,这个功能要怎么实现,直接在线发送我是知道 ,不过应该不是在客户下单的时候 发送邮件,不然这样就得等邮件发送完,客户才能进行下一步操作!

解决方案 »

  1.   

    首先会员登陆 获得邮箱地址
    public static void Send()
        {
            SmtpClient client = new SmtpClient();
            client.DeliveryMethod = SmtpDeliveryMethod.Network;
            client.EnableSsl = false;
            client.Host = "smtp.163.com"; //可以配置成其他邮件服务器
            client.Port = 25;
            client.Credentials = new NetworkCredential("发件人邮件帐号", "邮箱密码");
            MailMessage mm = new MailMessage();
            mm.Priority = MailPriority.High;
            mm.From = new MailAddress("发件人邮件帐号");
            mm.Sender = new MailAddress("发件人邮件帐号");
            mm.To.Add(new MailAddress("收件人邮件帐号"));
            mm.Subject = "到期提醒!";
            StringBuilder sb = new StringBuilder();
            sb.AppendLine("到期提醒!");
            sb.AppendLine("请登录人力资源系统及时处理即将到期的合同");
            sb.AppendLine(DateTime.Now.ToShortDateString());
            sb.AppendLine("人力资源系统管理员");
            mm.Body = sb.ToString();
            mm.IsBodyHtml = true;
            // client.DeliveryMethod = SmtpDeliveryMethod.Network;
            try
            {
                client.Send(mm);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
      

  2.   

    根据用户注册时的邮箱发送
    如public void MailSend(string MailFrom,string MailTo,string MailPwd,string Mailtitle,string MailCon)   
    {   
    MailMessage MyMail = new MailMessage();   
    MyMail.From = new MailAddress("", "");   
    MyMail.To.Add(new MailAddress(""));   
    MyMail.Subject = Mailtitle;   
    MyMail.Body = MailCon;   
    MyMail.IsBodyHtml = true;   
    SmtpClient smtpclient = new SmtpClient();   
    smtpclient.DeliveryMethod = SmtpDeliveryMethod.Network;   
    smtpclient.Host = "";   
    smtpclient.Credentials = new System.Net.NetworkCredential(MailFrom, MailPwd);   
    smtpclient.Send(MyMail);   
    }   
    jmail.Message Jmail = new jmail.Message();   
    DateTime t = DateTime.Now;   
    String Subject = "";   
    String body = "";   
    String FromEmail = "";   
    String ToEmail = "";   
    Jmail.Charset = "GB2312";   
    Jmail.ContentType = "text/html";   
    Jmail.AddRecipient(ToEmail, "", "");   
    Jmail.From = FromEmail;   
    Jmail.MailServerUserName = "";   
    Jmail.MailServerPassWord = "";   
    Jmail.Subject = Subject;   
    Jmail.ContentType="text/html";   
    Jmail.Body = body + t.ToString();   
    Jmail.Send("", false);   
    Jmail.Close();   message.Body ="";
    client.Send(message);
      

  3.   

    客户下单后,把订单信息存入数据库。返回订单号。然后,将订单信息,或相应需要发送给用户的信息发送到用户注册邮箱。代码楼上都有,另外教你个读取模板发送正文。格式如:
    XXX 您好:在模板中 用一个自己熟悉的变量代替这个XXX,如{#userName} 
    private static string MailCount(string strName){//模板中有多少个XXX,这里就传多少个参数
    string temp = HttpContext.Current.Server.MapPath("/Template/Order.htm");//模板的位置
                Encoding code = Encoding.GetEncoding("gb2312");
                StreamReader sr = null;
                StringBuilder sb = new StringBuilder();
                try
                {
                    sr = new StreamReader(temp, code);
                    sb.Append(sr.ReadToEnd()); // 读取文件 
                }
                catch (Exception exp)
                {
                    HttpContext.Current.Response.Write(exp.Message);
                    HttpContext.Current.Response.End();
                    sr.Close();
                    sb = null;
                }
    //模板中变量转换 有多少个参数,这里就写多少个转换
    sb.Replace("{#userName} ", strName);
    return sb.ToString();
    }