ASP.NET实现注册时发送激活
就是像CSDN注册时有个要到邮箱激活的么!这个要怎么实现啊! --------------------编程问答-------------------- 在创建一个用户时生成一个标识,将带有标识的地址“ www.xxx.com?xx=标识” 发送到用户提供的邮箱
用户打开了这个地址后 后台取得 标识 判定激活。
--------------------编程问答-------------------- 发送链接地址到邮箱 地址带个生成好的参数 点击返回页面 取得参数 后台判断 激活 --------------------编程问答-------------------- 路径参数中包含加密的信息。
用户名 时间段。。。。 --------------------编程问答-------------------- 通过一个激活链接 去更爱注册用户的状态 --------------------编程问答-------------------- 注册的时侯,生成一个guid,给用户一个连接
例如:checkemail.aspx?email=xxx&guid=xxx
这个页面检测email和guid的对应关系,如果对了,就验证通过 --------------------编程问答-------------------- 原理就是在注册的时候,随机生成一个字符串保存到数据库里
然后发邮件,在邮件里有个链接,点击链接激活,就如楼上几位说的
最后附一段发邮件的代码吧,自己研究研究吧
/// <summary>--------------------编程问答-------------------- 自己写一个邮件发送的类,注册好之后发送邮件到用户信箱咯 --------------------编程问答-------------------- 方法都差不多,会员表有个状态字段判断是否是已激活的会员。
///
/// </summary>
/// <param name="strSmtpServer">SMTP</param>
/// <param name="port">SMTP端口号</param>
/// <param name="strFrom">发信箱地址</param>
/// <param name="strFromPass">发信箱密码</param>
/// <param name="strto">收信箱</param>
/// <param name="strSubject">主题</param>
/// <param name="strBody">邮件正文</param>
/// <param name="ssl">是否采用SSL</param>
public static void SendMail(string strSmtpServer, int port, string strFrom, string strFromPass, string strto, string strSubject, string strBody,bool ssl)
{
System.Net.Mail.SmtpClient client = new SmtpClient(strSmtpServer, port);
client.EnableSsl = ssl;
client.UseDefaultCredentials = false;
client.Credentials = new System.Net.NetworkCredential(strFrom, strFromPass);
client.DeliveryMethod = SmtpDeliveryMethod.Network;
System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage(strFrom, strto, strSubject, strBody);
message.BodyEncoding = System.Text.Encoding.UTF8;
message.IsBodyHtml = true;
client.Send(message);
}
/// <summary>
/// 发送Jmail邮件
/// </summary>
/// <param name="strSmtpServer"></param>
/// <param name="strFrom"></param>
/// <param name="strFromUser"></param>
/// <param name="strFromPass"></param>
/// <param name="strto"></param>
/// <param name="strSubject"></param>
/// <param name="strBody"></param>
public static void SendJmailMail(string strSmtpServer, string strFrom, string strFromUser, string strFromPass, string strto, string strSubject, string strBody)
{
jmail.Message jmMessage = new jmail.Message();
jmMessage.Silent = true;
jmMessage.Logging = true;
jmMessage.Charset = "GB2312";
jmMessage.ContentType = "text/html";
jmMessage.ISOEncodeHeaders = false;
jmMessage.From = strFrom;
jmMessage.FromName = strFrom;
jmMessage.MailServerUserName = strFromUser;
jmMessage.MailServerPassWord = strFromPass;
jmMessage.Subject = strSubject;
jmMessage.Body = strBody;
jmMessage.AddRecipient(strto, "", "");
jmMessage.Send(strSmtpServer, false);
}
用户注册成功时。发送邮件,内容带上注册会员的id,当会员点击链接时,修改激活字段。 --------------------编程问答-------------------- 发送激活连接给注册的邮箱,链接中的参数要加密。
通过链接的请求参数激活用户
补充:.NET技术 , ASP.NET