就好像CSDN注册这种的,注册的时候发一份邮件到对方的邮箱里,然后在邮箱里点激活连接就注册成功啦,请问如何实现?

解决方案 »

  1.   


        private void SendEmail()
        {
            //开始建立一个邮件对象
            MailMessage mm = new MailMessage();        //创建一个MailAddress类的实例 
            mm.From = new MailAddress("发送邮件地址");        //邮件对象添加接受地址,支持群发,多个地址之间用 半角逗号 分开
            mm.To.Add("[email protected],[email protected]");
            //当然也可以用全地址添加
            mm.To.Add(new MailAddress("[email protected]", "接收者g", Encoding.GetEncoding(936)));        mm.Subject = "邮件主题";        mm.IsBodyHtml = true; //邮件正文是否是HTML格式,默认为false        mm.Body = "邮件正文<b>THML代码</b>红色的字体 <font color=red>红</font>";
            //创建简单邮件传输协议对象,并指定SMTP服务器名称
            SmtpClient smtp = new SmtpClient("邮件地址或者服务器IP");
            //发送邮件
            smtp.Send(mm);
        }注册成功之后可以调用这个方式 简单一点的发送邮件 深入了解请参阅MSDN
      

  2.   

    发送邮件的函数using System;
    using System.Collections.Generic;
    using System.Text;
    using EasyTrader.Model;
    using System.Net;
    using System.Net.Mail;
    using System.Data;
    namespace EasyTrader.Components.Utility
    {
        /// <summary>
        /// 
        /// </summary>
        public class SendMail
        {
            private SmtpClient mailClient;
            private string ADDRESS_FROM;
            /// <summary>
            /// 构造函数
            /// </summary>
            /// <param name="id">发送邮箱id</param>
            public SendMail(string id)
            {
                DataSet ds = new DataSet();
                string strPath = AppDomain.CurrentDomain.SetupInformation.ApplicationBase;
                ds.ReadXml(strPath + @"App_Data\email.xml");
                DataView dv = new DataView();
                dv.Table = ds.Tables[0];
                dv.RowFilter = "id='admin'";
                mailClient = new SmtpClient(dv[0]["smtpServer"].ToString(), Convert.ToInt32(dv[0]["port"]));
                mailClient.EnableSsl = true;
                NetworkCredential crendetial = new NetworkCredential(dv[0]["userId"].ToString(), dv[0]["password"].ToString());
                mailClient.Credentials = crendetial;
                ADDRESS_FROM = dv[0]["address"].ToString();
            }
            /// <summary>
            /// 单个邮件发送
            /// </summary>
            /// <param name="title">标题</param>
            /// <param name="body">内容</param>
            /// <param name="add_to">地址</param>
            /// <returns>bool</returns>
            public bool SendMailToCustom(string title, string body, string add_to)
            {            MailMessage message = new MailMessage(ADDRESS_FROM, add_to, title, body);
                message.BodyEncoding = System.Text.Encoding.UTF8;
                message.IsBodyHtml = true;
                message.SubjectEncoding = System.Text.Encoding.UTF8;
                try
                {
                    mailClient.Send(message);
                    return true;
                }
                catch
                {
                    return false;
                }
            }
            /// <summary>
            /// 群发邮件
            /// </summary>
            /// <param name="title">标题</param>
            /// <param name="body">内容</param>
            /// <param name="list_Email">地址列表</param>
            /// <returns>string 空值为全部成功</returns>
            public string SendMailToCustom(string title, string body, List<string> list_Email)
            {            string mess = "";
                int num = 0;
                foreach (string add_to in list_Email)
                {
                    num++;
                    MailMessage message = new MailMessage(ADDRESS_FROM, add_to, title, body);
                    message.BodyEncoding = System.Text.Encoding.UTF8;
                    message.IsBodyHtml = true;
                    message.SubjectEncoding = System.Text.Encoding.UTF8;
                    try
                    {
                        mailClient.Send(message);
                        mess += "";
                    }
                    catch (Exception ex)
                    {
                        mess += "发送第" + num + "封是出错了" + add_to + "    " + ex.ToString();
                    }            }
                return mess;
            }
            /// <summary>
            /// 群发邮件
            /// </summary>
            /// <param name="title">标题</param>
            /// <param name="body">内容</param>
            /// <param name="list_Email">地址列表</param>
            public void SendMailToCustomReturnNull(string title, string body, List<string> list_Email)
            {            int num = 0;
                foreach (string add_to in list_Email)
                {
                    num++;
                    MailMessage message = new MailMessage(ADDRESS_FROM, add_to, title, body);
                    message.BodyEncoding = System.Text.Encoding.UTF8;
                    message.IsBodyHtml = true;
                    message.SubjectEncoding = System.Text.Encoding.UTF8;
                    try
                    {
                        mailClient.Send(message);
                    }
                    catch
                    {
                    }
                }
            }
        }
    }
      

  3.   

    protected void ibtnSubmit_Click(object sender, ImageClickEventArgs e)
        {
            
            string Name = "zy";
            Int64 UserID = 4;
            string mailBody = "";
            string mailUrl = "http://localhost:4672/EasyTraderWeb/MYET/Profile/ChangeEmail.aspx?NameUrl=" + StringHelper.Base64StringEncode(txtNewEmail.Text) + "&UserID=" + UserID;
            mailBody += "<b>亲爱的" + Name + ",</b><br><br><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"10\"><tr><td valign=\"top\">";
            mailBody += "EasyTrade已经收到您的修改Email信息,请激活以完成修改。";
            mailBody += "<br><br><div align=\"center\">";
            mailBody += "<a href=" + mailUrl + " target=\"_blank\">";
            mailBody += "<b><font style=\"font-size:12px\">点击这里,立即修改</font></b></a></div><br>-----------------------------------------------<br>如果您点击上述链接无效,请把下面的代码拷贝到浏览器的地址栏中:<br>";
            mailBody += "<a href=" + mailUrl + "</a>";
            mailBody += "<br><br></td><tr><table>";
            SendMail sendEmil = new SendMail("admin");
            //发送邮件成功
            if (sendEmil.SendMailToCustom("ET修改Email!", mailBody, txtNewEmail.Text))
            {            
                pnlChangEmail.Visible = false;
                pnlMessage.Visible = true;
            }
            //发送邮件失败
            //else
            //{
            //    divMessage.InnerHtml = "发送失败";
            //}
            //pnlChangEmail.Visible = false;
            //pnlMessage.Visible = true;
        }之后你把要发的内容拼出来
      

  4.   

    上google找一下jmail的吧!http://blog.csdn.net/cenjoyer/archive/2007/06/07/1642926.aspx
      

  5.   

     发送邮件的话,可以随便找个发送邮件的类,以前我也在CSDN上贴过发邮件的类。
    在放邮件的内容里加上<a href ='www.xxx.com/aa.aspx?"+UserName+"'>激活</a>.这样就会产生一个带用户名的激活链接(当然你也可以将用户名换成其他的东西,这一切都是个标记,是个参数。只要你在得到这个参数的时候知道是什么意思就可以了)
      在aa.aspx页面里的代码
    先获取传过来的参数。如果注册成功的话,这个账号的状态为0(没有激活),那么根据这个参数比较下,1、是否有这么一个账号。2、看下这个账号的状态是否为0;如果的却有这么个账号,而且状态为0,那么update下。状态改为1;表示激活成功!